<html>
<head><meta charset="UTF-8" /><script>
var $gwt_version = "2.5.1";
var $wnd = parent;
var $doc = $wnd.document;
var $moduleName, $moduleBase;
var $strongName = '5D7DFB909D32CB33F1D930E2E426336B';
var $stats = $wnd.__gwtStatsEvent ? function(a) {return $wnd.__gwtStatsEvent(a);} : null,
$sessionId = $wnd.__gwtStatsSessionId ? $wnd.__gwtStatsSessionId : null;
$stats && $stats({moduleName:'com.mycompany.project.Main',sessionId:$sessionId,subSystem:'startup',evtGroup:'moduleStartup',millis:(new Date()).getTime(),type:'moduleEvalStart'});
</script></head>
<body>
<script><!--
var _, Na_longLit = {l:4194294, m:4194303, h:1048575}, P0_longLit = {l:0, m:0, h:0}, P64_longLit = {l:100, m:0, h:0}, Pfa_longLit = {l:250, m:0, h:0}, P3e8_longLit = {l:1000, m:0, h:0}, P2ee0_longLit = {l:12000, m:0, h:0}, P36ee80_longLit = {l:3600000, m:0, h:0}, P5265c00_longLit = {l:2513920, m:20, h:0}, P240c8400_longLit = {l:820224, m:144, h:0}, P7fffffffffffffff_longLit = {l:4194303, m:4194303, h:524287}, seedTable = {}, Q$Object = 0, Q$String = 1, Q$AbstractDragController = 2, Q$DragController = 3, Q$DropControllerCollection$Candidate = 4, Q$DropControllerCollection$Candidate_$1 = 5, Q$FiresDragEvents = 6, Q$MouseDragHandler$RegisteredDraggable = 7, Q$PickupDragController = 8, Q$PickupDragController$SavedWidgetInfo = 9, Q$VetoDragException = 10, Q$AbsolutePositionDropController$Draggable = 11, Q$DropController = 12, Q$Location = 13, Q$Style$ButtonScale = 14, Q$Style$Direction = 15, Q$Style$HideMode = 16, Q$Style$HorizontalAlignment = 17, Q$Style$IconAlign = 18, Q$Style$Scroll = 19, Q$Style$VerticalAlignment = 20, Q$FocusHandler = 21, Q$NavigationHandler = 22, Q$El = 23, Q$FastMap = 24, Q$ModelData = 25, Q$RpcMap = 26, Q$ButtonEvent = 27, Q$ClickRepeaterEvent = 28, Q$ComponentEvent = 29, Q$ContainerEvent = 30, Q$EventType = 31, Q$FxEvent = 32, Q$IconButtonEvent = 33, Q$LayoutEvent = 34, Q$Listener = 35, Q$MenuEvent = 36, Q$Observable = 37, Q$Params = 38, Q$Point = 39, Q$Size = 40, Q$Theme = 41, Q$BoxComponent = 42, Q$Component = 43, Q$ComponentAttachable = 44, Q$Container = 45, Q$ContentPanel = 46, Q$Header = 47, Q$HorizontalPanel = 48, Q$Layer = 49, Q$Layer$ShadowPosition = 50, Q$LayoutContainer = 51, Q$ScrollContainer = 52, Q$VerticalPanel = 53, Q$WidgetComponent = 54, Q$Button = 55, Q$ToolButton = 56, Q$Field = 57, Q$TextField$TextFieldMessages = 58, Q$LayoutData = 59, Q$ToolBarLayout = 60, Q$Item = 61, Q$Menu = 62, Q$MenuBarItem = 63, Q$MenuItem = 64, Q$FillToolItem = 65, Q$ToolBar = 66, Q$AnimationScheduler$AnimationHandle = 67, Q$AnimationSchedulerImplTimer$AnimationHandleImpl = 68, Q$AnimationSchedulerImplTimer$AnimationHandleImpl_$1 = 69, Q$JavaScriptException = 70, Q$Style$BorderStyle = 71, Q$Style$Display = 72, Q$Style$HasCssName = 73, Q$Style$Overflow = 74, Q$Style$Position = 75, Q$Style$TextAlign = 76, Q$Style$Unit = 77, Q$Style$WhiteSpace = 78, Q$IsEditor = 79, Q$ClickHandler = 80, Q$DomEvent$Type = 81, Q$HasAllDragAndDropHandlers = 82, Q$HasAllDragAndDropHandlers_$1 = 83, Q$HasAllFocusHandlers = 84, Q$HasAllGestureHandlers = 85, Q$HasAllGestureHandlers_$1 = 86, Q$HasAllKeyHandlers = 87, Q$HasAllMouseHandlers = 88, Q$HasAllMouseHandlers_$1 = 89, Q$HasAllTouchHandlers = 90, Q$HasAllTouchHandlers_$1 = 91, Q$HasBlurHandlers = 92, Q$HasClickHandlers = 93, Q$HasClickHandlers_$1 = 94, Q$HasDoubleClickHandlers = 95, Q$HasDoubleClickHandlers_$1 = 96, Q$HasDragEndHandlers = 97, Q$HasDragEndHandlers_$1 = 98, Q$HasDragEnterHandlers = 99, Q$HasDragEnterHandlers_$1 = 100, Q$HasDragHandlers = 101, Q$HasDragHandlers_$1 = 102, Q$HasDragLeaveHandlers = 103, Q$HasDragLeaveHandlers_$1 = 104, Q$HasDragOverHandlers = 105, Q$HasDragOverHandlers_$1 = 106, Q$HasDragStartHandlers = 107, Q$HasDragStartHandlers_$1 = 108, Q$HasDropHandlers = 109, Q$HasDropHandlers_$1 = 110, Q$HasErrorHandlers = 111, Q$HasErrorHandlers_$1 = 112, Q$HasFocusHandlers = 113, Q$HasGestureChangeHandlers = 114, Q$HasGestureChangeHandlers_$1 = 115, Q$HasGestureEndHandlers = 116, Q$HasGestureEndHandlers_$1 = 117, Q$HasGestureStartHandlers = 118, Q$HasGestureStartHandlers_$1 = 119, Q$HasKeyDownHandlers = 120, Q$HasKeyPressHandlers = 121, Q$HasKeyUpHandlers = 122, Q$HasLoadHandlers = 123, Q$HasLoadHandlers_$1 = 124, Q$HasMouseDownHandlers = 125, Q$HasMouseDownHandlers_$1 = 126, Q$HasMouseMoveHandlers = 127, Q$HasMouseMoveHandlers_$1 = 128, Q$HasMouseOutHandlers = 129, Q$HasMouseOutHandlers_$1 = 130, Q$HasMouseOverHandlers = 131, Q$HasMouseOverHandlers_$1 = 132, Q$HasMouseUpHandlers = 133, Q$HasMouseUpHandlers_$1 = 134, Q$HasMouseWheelHandlers = 135, Q$HasMouseWheelHandlers_$1 = 136, Q$HasScrollHandlers = 137, Q$HasTouchCancelHandlers = 138, Q$HasTouchCancelHandlers_$1 = 139, Q$HasTouchEndHandlers = 140, Q$HasTouchEndHandlers_$1 = 141, Q$HasTouchMoveHandlers = 142, Q$HasTouchMoveHandlers_$1 = 143, Q$HasTouchStartHandlers = 144, Q$HasTouchStartHandlers_$1 = 145, Q$KeyDownHandler = 146, Q$KeyPressHandler = 147, Q$KeyUpHandler = 148, Q$MouseDownHandler = 149, Q$MouseMoveHandler = 150, Q$MouseOutHandler = 151, Q$MouseOverHandler = 152, Q$MouseUpHandler = 153, Q$TouchCancelHandler = 154, Q$TouchEndHandler = 155, Q$TouchMoveHandler = 156, Q$TouchStartHandler = 157, Q$AttachEvent$Handler = 158, Q$BeforeSelectionHandler = 159, Q$CloseHandler = 160, Q$HasAttachHandlers = 161, Q$HasAttachHandlers_$1 = 162, Q$HasValueChangeHandlers = 163, Q$ResizeHandler = 164, Q$SelectionHandler = 165, Q$ValueChangeHandler = 166, Q$EventHandler = 167, Q$HandlerRegistration = 168, Q$HasHandlers = 169, Q$HasHandlers_$1 = 170, Q$DateTimeFormat = 171, Q$DateTimeFormat$PredefinedFormat = 172, Q$HasDirection = 173, Q$HasDirection$Direction = 174, Q$DateTimeFormat$PatternPart = 175, Q$HasDirectionEstimator = 176, Q$JSONArray = 177, Q$JSONNumber = 178, Q$JSONObject = 179, Q$JSONString = 180, Q$LongLibBase$LongEmul = 181, Q$SafeStyles = 182, Q$SafeStylesString = 183, Q$HasSafeHtml = 184, Q$SafeHtml = 185, Q$SafeUri = 186, Q$SafeUriString = 187, Q$Point_0 = 188, Q$TouchScroller$TemporalPoint = 189, Q$Command = 190, Q$Event$NativePreviewHandler = 191, Q$EventListener = 192, Q$EventListener_$1 = 193, Q$TakesValue = 194, Q$Timer = 195, Q$AbsolutePanel = 196, Q$AcceptsOneWidget = 197, Q$Button_0 = 198, Q$ButtonBase = 199, Q$CellPanel = 200, Q$ClickListener = 201, Q$ComplexPanel = 202, Q$CustomButton = 203, Q$DialogBox$MouseHandler = 204, Q$FlexTable = 205, Q$FocusWidget = 206, Q$Focusable = 207, Q$Grid = 208, Q$HTML = 209, Q$HTMLTable = 210, Q$HasAlignment = 211, Q$HasAutoHorizontalAlignment = 212, Q$HasDirectionalHtml = 213, Q$HasDirectionalSafeHtml = 214, Q$HasDirectionalText = 215, Q$HasEnabled = 216, Q$HasFocus = 217, Q$HasHTML = 218, Q$HasHorizontalAlignment = 219, Q$HasHorizontalScrolling = 220, Q$HasOneWidget = 221, Q$HasScrolling = 222, Q$HasText = 223, Q$HasValue = 224, Q$HasVerticalAlignment = 225, Q$HasVerticalScrolling = 226, Q$HasVisibility = 227, Q$HasVisibility_$1 = 228, Q$HasWidgets = 229, Q$HasWidgets$ForIsWidget = 230, Q$HasWordWrap = 231, Q$HorizontalPanel_0 = 232, Q$Image = 233, Q$Image_$1 = 234, Q$IndexedPanel = 235, Q$IndexedPanel$ForIsWidget = 236, Q$InsertPanel = 237, Q$InsertPanel$ForIsWidget = 238, Q$IsWidget = 239, Q$IsWidget_$1 = 240, Q$KeyboardListener = 241, Q$Label = 242, Q$LabelBase = 243, Q$Panel = 244, Q$ProvidesResize = 245, Q$RequiresResize = 246, Q$RootPanel = 247, Q$ScrollPanel = 248, Q$SimplePanel = 249, Q$SourcesClickEvents = 250, Q$SourcesClickEvents_$1 = 251, Q$SourcesFocusEvents = 252, Q$SourcesKeyboardEvents = 253, Q$SourcesLoadEvents = 254, Q$SourcesLoadEvents_$1 = 255, Q$SourcesMouseEvents = 256, Q$SourcesMouseEvents_$1 = 257, Q$SourcesScrollEvents = 258, Q$SourcesTabEvents = 259, Q$SourcesTableEvents = 260, Q$TabListener = 261, Q$ToggleButton = 262, Q$UIObject = 263, Q$UIObject_$1 = 264, Q$ValueBoxBase$TextAlignment = 265, Q$Widget = 266, Q$Widget_$1 = 267, Q$SimpleEventBus$Command = 268, Q$UmbrellaException = 269, Q$HabitatConfiguration = 270, Q$Module = 271, Q$ModuleType = 272, Q$Module_$1 = 273, Q$Serializable = 274, Q$Boolean = 275, Q$CharSequence = 276, Q$Comparable = 277, Q$Double = 278, Q$Enum = 279, Q$Exception = 280, Q$Float = 281, Q$Integer = 282, Q$Iterable = 283, Q$Number = 284, Q$Object_$1 = 285, Q$StackTraceElement = 286, Q$Throwable = 287, Q$ArrayList = 288, Q$Date = 289, Q$List = 290, Q$Map = 291, Q$Map$Entry = 292, Q$Set = 293, CM$ = {};
function newSeed(id){
  return new seedTable[id];
}

function defineSeed(id, superSeed, castableTypeMap){
  var seed = seedTable[id];
  if (seed && !seed.___clazz$) {
    _ = seed.prototype;
  }
   else {
    !seed && (seed = seedTable[id] = function(){
    }
    );
    _ = seed.prototype = superSeed < 0?{}:newSeed(superSeed);
    _.castableTypeMap$ = castableTypeMap;
  }
  for (var i = 3; i < arguments.length; ++i) {
    arguments[i].prototype = _;
  }
  if (seed.___clazz$) {
    _.___clazz$ = seed.___clazz$;
    seed.___clazz$ = null;
  }
}

function makeCastMap(a){
  var result = {};
  for (var i = 0, c = a.length; i < c; ++i) {
    result[a[i]] = 1;
  }
  return result;
}

function nullMethod(){
}

defineSeed(1, -1, CM$);
_.equals$ = function equals(other){
  return this === other;
}
;
_.getClass$ = function getClass_0(){
  return this.___clazz$;
}
;
_.hashCode$ = function hashCode_0(){
  return getHashCode(this);
}
;
_.toString$ = function toString_0(){
  return this.___clazz$.typeName + '@' + toPowerOfTwoString(this.hashCode$());
}
;
_.toString = function(){
  return this.toString$();
}
;
_.typeMarker$ = nullMethod;
function $clearSelection(this$static){
  var iterator, widget;
  for (iterator = new AbstractList$IteratorImpl_0(this$static.context.selectedWidgets); iterator.i < iterator.this$0_0.size_1();) {
    widget = dynamicCast($next_3(iterator), Q$Widget);
    widget.removeStyleName('dragdrop-selected');
    $remove_21(iterator);
  }
}

function $makeDraggable(this$static, draggable){
  $makeDraggable_0(this$static.mouseDragHandler, draggable, draggable);
  setStyleName(draggable.element, 'dragdrop-draggable', true);
  setStyleName(draggable.element, 'dragdrop-handle', true);
  $put_5(this$static.dragHandles, draggable, draggable);
}

function $toggleSelection(this$static, draggable){
  if ($remove_15(this$static.context.selectedWidgets, draggable)) {
    setStyleName(draggable.element, 'dragdrop-selected', false);
  }
   else {
    $clear_1(this$static.context.selectedWidgets);
    $add_17(this$static.context.selectedWidgets, draggable);
  }
}

defineSeed(3, 1, makeCastMap([Q$AbstractDragController, Q$DragController, Q$FiresDragEvents]));
_.boundaryPanel = null;
_.constrainedToBoundaryPanel = false;
_.context = null;
_.dragStartSensitivityPixels = 0;
_.mouseDragHandler = null;
function $dragEndCleanup(this$static){
  this$static.dropController = null;
  this$static.draggable = null;
}

function DragContext_0(dragController){
  this.selectedWidgets = new ArrayList_0;
  this.dragController = dragController;
  this.boundaryPanel = dragController.boundaryPanel;
}

defineSeed(4, 1, {}, DragContext_0);
_.boundaryPanel = null;
_.desiredDraggableX = 0;
_.desiredDraggableY = 0;
_.dragController = null;
_.draggable = null;
_.dropController = null;
_.mouseX = 0;
_.mouseY = 0;
_.vetoException = null;
function $getIntersectDropController(this$static, x, y){
  var candidate, i, location_0, targetArea;
  location_0 = new CoordinateLocation_0(x, y);
  for (i = this$static.sortedCandidates.length - 1; i >= 0; --i) {
    candidate = this$static.sortedCandidates[i];
    targetArea = candidate.targetArea;
    if (targetArea.left_0 <= location_0.left_0 && location_0.left_0 <= targetArea.right && targetArea.top_0 <= location_0.top_0 && location_0.top_0 <= targetArea.bottom) {
      return candidate.dropController;
    }
  }
  return null;
}

function $resetCache(this$static, boundaryPanel, context){
  var boundaryArea, candidate, dropController, dropController$iterator, dropTarget, list;
  list = new ArrayList_0;
  if (context.draggable) {
    boundaryArea = new WidgetArea_0(boundaryPanel);
    for (dropController$iterator = new AbstractList$IteratorImpl_0(this$static.dropControllerList); dropController$iterator.i < dropController$iterator.this$0_0.size_1();) {
      dropController = dynamicCast($next_3(dropController$iterator), Q$DropController);
      candidate = new DropControllerCollection$Candidate_0(dropController);
      dropTarget = candidate.dropController.getDropTarget();
      if (isOrHasChild(context.draggable.element, dropTarget.element)) {
        continue;
      }
      $intersects(candidate.targetArea, boundaryArea) && (setCheck(list.array, list.size_0++, candidate) , true);
    }
  }
  this$static.sortedCandidates = dynamicCast($toArray_0(list, initDim(_3Lcom_allen_1sauer_gwt_dnd_client_DropControllerCollection$Candidate_2_classLit, makeCastMap([Q$DropControllerCollection$Candidate_$1, Q$Serializable, Q$Object_$1]), Q$DropControllerCollection$Candidate, list.size_0, 0)), Q$DropControllerCollection$Candidate_$1);
  sort(this$static.sortedCandidates);
}

function DropControllerCollection_0(dropControllerList){
  this.dropControllerList = dropControllerList;
}

defineSeed(5, 1, {}, DropControllerCollection_0);
_.dropControllerList = null;
_.sortedCandidates = null;
function $compareElement(this$static, myElement, otherElement){
  var myParentElement, otherParentElement;
  if (myElement == otherElement) {
    return 0;
  }
   else {
    if (myElement.contains(otherElement)) {
      return -1;
    }
     else {
      if (otherElement.contains(myElement)) {
        return 1;
      }
       else {
        myParentElement = $getParentElement(myElement);
        otherParentElement = $getParentElement(otherElement);
        if (!!myParentElement && !!otherParentElement) {
          return $compareElement(this$static, myParentElement, otherParentElement);
        }
        return 0;
      }
    }
  }
}

function $compareTo(this$static, other){
  var myElement, otherElement;
  myElement = this$static.dropController.getDropTarget().element;
  otherElement = other.dropController.getDropTarget().element;
  return $compareElement(this$static, myElement, otherElement);
}

function DropControllerCollection$Candidate_0(dropController){
  var target;
  this.dropController = dropController;
  target = dropController.getDropTarget();
  if (!target.attached) {
    throw new IllegalStateException_1('Unattached drop target. You must call DragController#unregisterDropController for all drop targets not attached to the DOM.');
  }
  this.targetArea = new WidgetArea_0(target);
}

defineSeed(6, 1, makeCastMap([Q$DropControllerCollection$Candidate, Q$Comparable]), DropControllerCollection$Candidate_0);
_.compareTo$ = function compareTo(other){
  return $compareTo(this, dynamicCast(other, Q$DropControllerCollection$Candidate));
}
;
_.equals$ = function equals_0(other){
  throw new RuntimeException_0('hash code not implemented');
}
;
_.hashCode$ = function hashCode_1(){
  throw new RuntimeException_0('hash code not implemented');
}
;
_.dropController = null;
_.targetArea = null;
function $actualMove(this$static, x, y){
  this$static.context.mouseX = x;
  this$static.context.mouseY = y;
  this$static.context.desiredDraggableX = x - this$static.mouseDownOffsetX;
  this$static.context.desiredDraggableY = y - this$static.mouseDownOffsetY;
  $dragMove(this$static.context.dragController);
}

function $doSelectionToggle(this$static, event_0){
  var widget;
  widget = dynamicCast($get_8(this$static.dragHandleMap, mouseDownWidget), Q$MouseDragHandler$RegisteredDraggable).dragable;
  !!event_0.nativeEvent.ctrlKey || !!event_0.nativeEvent.metaKey || $clearSelection(this$static.context.dragController);
  $toggleSelection(this$static.context.dragController, widget);
}

function $dragEndCleanup_0(this$static){
  releaseCapture(this$static.capturingWidget.element);
  $removeFromParent_0(this$static.capturingWidget);
  this$static.dragging = 1;
  $dragEndCleanup(this$static.context);
}

function $drop(this$static, x, y){
  var ex;
  $actualMove(this$static, x, y);
  try {
    $previewDragEnd(this$static.context.dragController);
  }
   catch ($e0) {
    $e0 = caught_0($e0);
    if (instanceOf($e0, Q$VetoDragException)) {
      ex = $e0;
      this$static.context.vetoException = ex;
    }
     else 
      throw $e0;
  }
  $dragEnd(this$static.context.dragController);
}

function $makeDraggable_0(this$static, draggable, dragHandle){
  var ex, registeredDraggable;
  try {
    registeredDraggable = new MouseDragHandler$RegisteredDraggable_0(this$static, draggable, dragHandle);
    $put_5(this$static.dragHandleMap, dragHandle, registeredDraggable);
  }
   catch ($e0) {
    $e0 = caught_0($e0);
    if (instanceOf($e0, Q$Exception)) {
      ex = $e0;
      throw new RuntimeException_1('dragHandle must implement HasMouseDownHandlers to be draggable', ex);
    }
     else 
      throw $e0;
  }
}

function $onTouchEndorCancel(this$static, event_0){
  if (event_0.nativeEvent.touches.length != 0) {
    return;
  }
  if (!mouseDownWidget) {
    return;
  }
  try {
    if (this$static.dragging == 1) {
      $doSelectionToggle(this$static, event_0);
      return;
    }
    try {
      $drop(this$static, this$static.context.mouseX, this$static.context.mouseY);
      this$static.dragging != 3 && $doSelectionToggle(this$static, event_0);
    }
     finally {
      $dragEndCleanup_0(this$static);
    }
  }
   finally {
    mouseDownWidget = null;
    $dragEndCleanup_0(this$static);
  }
}

function $startCapturing(this$static){
  $setPixelSize(this$static.capturingWidget, 0, 0);
  $add_12(($clinit_RootPanel() , get_3()), this$static.capturingWidget, 0, 0);
  setCapture(this$static.capturingWidget.element);
}

function $startDragging(this$static){
  this$static.context.vetoException = null;
  $dragStart(this$static.context.dragController);
  $startCapturing(this$static);
  $setPixelSize(this$static.capturingWidget, ($clinit_RootPanel() , $getPropertyInt(get_3().element, 'offsetWidth')), $getPropertyInt(get_3().element, 'offsetHeight'));
  this$static.dragging = 2;
}

function MouseDragHandler_0(context){
  var style;
  this.dragHandleMap = new HashMap_0;
  this.context = context;
  this.capturingWidget = new FocusPanel_0;
  $addDomHandler(this.capturingWidget, this, ($clinit_MouseMoveEvent() , $clinit_MouseMoveEvent() , TYPE_4));
  $addDomHandler(this.capturingWidget, this, ($clinit_MouseUpEvent() , $clinit_MouseUpEvent() , TYPE_7));
  $addDomHandler(this.capturingWidget, this, ($clinit_TouchMoveEvent() , $clinit_TouchMoveEvent() , TYPE_10));
  $addDomHandler(this.capturingWidget, this, ($clinit_TouchEndEvent() , $clinit_TouchEndEvent() , TYPE_9));
  $addDomHandler(this.capturingWidget, this, ($clinit_TouchCancelEvent() , $clinit_TouchCancelEvent() , TYPE_8));
  style = this.capturingWidget.element.style;
  style['filter'] = 'alpha(opacity=0)';
  style.opacity = 0;
  style['zIndex'] = '1000';
  style['margin'] = 0 + ($clinit_Style$Unit() , 'px');
  style['borderStyle'] = ($clinit_Style$BorderStyle() , 'none');
  style['backgroundColor'] = 'blue';
}

defineSeed(7, 1, makeCastMap([Q$MouseDownHandler, Q$MouseMoveHandler, Q$MouseUpHandler, Q$TouchCancelHandler, Q$TouchEndHandler, Q$TouchMoveHandler, Q$TouchStartHandler, Q$EventHandler]), MouseDragHandler_0);
_.onMouseDown = function onMouseDown(event_0){
  var button, loc1, loc2, sender, x, y;
  if (this.dragging == 3 || this.dragging == 2) {
    return;
  }
  sender = dynamicCast(event_0.source, Q$Widget);
  x = $getX(event_0);
  y = $getY(event_0);
  button = $eventGetButton(event_0.nativeEvent);
  if (button != 1) {
    return;
  }
  if (mouseDownWidget) {
    return;
  }
  mouseDownWidget = sender;
  this.context.draggable = dynamicCast($get_8(this.dragHandleMap, mouseDownWidget), Q$MouseDragHandler$RegisteredDraggable).dragable;
  if (!(!!event_0.nativeEvent.ctrlKey || !!event_0.nativeEvent.metaKey) && $indexOf_1(this.context.selectedWidgets, this.context.draggable, 0) == -1) {
    $clearSelection(this.context.dragController);
    $toggleSelection(this.context.dragController, this.context.draggable);
  }
  instanceOf(mouseDownWidget, Q$Image) && (event_0.nativeEvent.preventDefault() , undefined);
  this.mouseDownOffsetX = x;
  this.mouseDownOffsetY = y;
  loc1 = new WidgetLocation_0(mouseDownWidget, null);
  if (mouseDownWidget != this.context.draggable) {
    loc2 = new WidgetLocation_0(this.context.draggable, null);
    this.mouseDownOffsetX += loc1.left_0 - loc2.left_0;
    this.mouseDownOffsetY += loc1.top_0 - loc2.top_0;
  }
  if (this.context.dragController.dragStartSensitivityPixels == 0 && !(!!event_0.nativeEvent.ctrlKey || !!event_0.nativeEvent.metaKey)) {
    this.context.mouseX = x + loc1.left_0;
    this.context.mouseY = y + loc1.top_0;
    $startDragging(this);
    if (this.dragging == 1) {
      return;
    }
    $actualMove(this, this.context.mouseX, this.context.mouseY);
  }
   else {
    this.mouseDownPageOffsetX = this.mouseDownOffsetX + loc1.left_0;
    this.mouseDownPageOffsetY = this.mouseDownOffsetY + loc1.top_0;
    $startCapturing(this);
  }
}
;
_.onMouseMove = function onMouseMove(event_0){
  var elem, location_0, sender, x, y;
  sender = dynamicCast(event_0.source, Q$Widget);
  elem = sender.getElement();
  x = $getRelativeX_0(event_0, elem);
  y = $getRelativeY_0(event_0, elem);
  if (this.dragging == 3 || this.dragging == 2) {
    this.dragging = 3;
  }
   else {
    if (mouseDownWidget) {
      if (max_0(abs_0(x - this.mouseDownPageOffsetX), abs_0(y - this.mouseDownPageOffsetY)) >= this.context.dragController.dragStartSensitivityPixels) {
        $scheduleDeferred(($clinit_SchedulerImpl() , INSTANCE_0), new MouseDragHandler$1_0);
        $indexOf_1(this.context.selectedWidgets, this.context.draggable, 0) != -1 || $toggleSelection(this.context.dragController, this.context.draggable);
        location_0 = new WidgetLocation_0(mouseDownWidget, null);
        this.context.mouseX = this.mouseDownOffsetX + location_0.left_0;
        this.context.mouseY = this.mouseDownOffsetY + location_0.top_0;
        $startDragging(this);
      }
    }
    if (this.dragging == 1) {
      return;
    }
  }
  $actualMove(this, x, y);
}
;
_.onMouseUp = function onMouseUp(event_0){
  var button, elem, sender, x, y, elem_0, n, screenX, screenY, clientX, clientY, ctrlKey, altKey, shiftKey, metaKey, button_0;
  sender = dynamicCast(event_0.source, Q$Widget);
  elem = sender.getElement();
  x = $getRelativeX_0(event_0, elem);
  y = $getRelativeY_0(event_0, elem);
  button = $eventGetButton(event_0.nativeEvent);
  if (button != 1) {
    return;
  }
  if (!mouseDownWidget) {
    return;
  }
  try {
    if (this.dragging == 1) {
      $doSelectionToggle(this, event_0);
      return;
    }
    try {
      elem_0 = mouseDownWidget.getElement();
      n = event_0.nativeEvent;
      screenX = n.screenX || 0;
      screenY = n.screenY || 0;
      clientX = n.clientX || 0;
      clientY = n.clientY || 0;
      ctrlKey = !!n.ctrlKey;
      altKey = !!n.altKey;
      shiftKey = !!n.shiftKey;
      metaKey = !!n.metaKey;
      button_0 = $eventGetButton(n);
      $scheduleDeferred(($clinit_SchedulerImpl() , INSTANCE_0), new MouseDragHandler$3_0(elem_0, screenX, screenY, clientX, clientY, ctrlKey, altKey, shiftKey, metaKey, button_0));
      $drop(this, x, y);
      this.dragging != 3 && $doSelectionToggle(this, event_0);
    }
     finally {
      $dragEndCleanup_0(this);
    }
  }
   finally {
    mouseDownWidget = null;
    $dragEndCleanup_0(this);
  }
}
;
_.onTouchCancel = function onTouchCancel(event_0){
  $onTouchEndorCancel(this, event_0);
}
;
_.onTouchEnd = function onTouchEnd(event_0){
  var elem, n, changedTouches;
  elem = mouseDownWidget.getElement();
  n = event_0.nativeEvent;
  !!n.ctrlKey;
  !!n.altKey;
  !!n.shiftKey;
  !!n.metaKey;
  changedTouches = n.changedTouches;
  $scheduleDeferred(($clinit_SchedulerImpl() , INSTANCE_0), new MouseDragHandler$2_0(elem, changedTouches));
  $onTouchEndorCancel(this, event_0);
}
;
_.onTouchMove = function onTouchMove(event_0){
  var elem, location_0, sender, x, y;
  if (event_0.nativeEvent.touches.length != 1) {
    return;
  }
  sender = dynamicCast(event_0.source, Q$Widget);
  elem = sender.getElement();
  x = $getRelativeX(event_0.nativeEvent.touches[0], elem);
  y = $getRelativeY(event_0.nativeEvent.touches[0], elem);
  if (this.dragging == 3 || this.dragging == 2) {
    this.dragging = 3;
  }
   else {
    if (mouseDownWidget) {
      if (max_0(abs_0(x - this.mouseDownOffsetX), abs_0(y - this.mouseDownOffsetY)) >= this.context.dragController.dragStartSensitivityPixels) {
        $indexOf_1(this.context.selectedWidgets, this.context.draggable, 0) != -1 || $toggleSelection(this.context.dragController, this.context.draggable);
        location_0 = new WidgetLocation_0(mouseDownWidget, null);
        this.context.mouseX = this.mouseDownOffsetX + location_0.left_0;
        this.context.mouseY = this.mouseDownOffsetY + location_0.top_0;
        x += location_0.left_0;
        y += location_0.top_0;
        $startDragging(this);
      }
    }
    if (this.dragging == 1) {
      return;
    }
  }
  event_0.nativeEvent.preventDefault();
  $actualMove(this, x, y);
}
;
_.onTouchStart = function onTouchStart(event_0){
  var loc1, loc2, sender, x, y;
  if (event_0.nativeEvent.touches.length != 1) {
    return;
  }
  sender = dynamicCast(event_0.source, Q$Widget);
  x = $getRelativeX(event_0.nativeEvent.touches[0], event_0.relativeElem);
  y = $getRelativeY(event_0.nativeEvent.touches[0], event_0.relativeElem);
  mouseDownWidget = sender;
  this.context.draggable = dynamicCast($get_8(this.dragHandleMap, mouseDownWidget), Q$MouseDragHandler$RegisteredDraggable).dragable;
  $clearSelection(this.context.dragController);
  $toggleSelection(this.context.dragController, this.context.draggable);
  this.mouseDownOffsetX = x;
  this.mouseDownOffsetY = y;
  loc1 = new WidgetLocation_0(mouseDownWidget, null);
  if (mouseDownWidget != this.context.draggable) {
    loc2 = new WidgetLocation_0(this.context.draggable, null);
    this.mouseDownOffsetX += loc1.left_0 - loc2.left_0;
    this.mouseDownOffsetY += loc1.top_0 - loc2.top_0;
  }
  if (this.context.dragController.dragStartSensitivityPixels == 0 && !(!!event_0.nativeEvent.ctrlKey || !!event_0.nativeEvent.metaKey)) {
    this.context.mouseX = x + loc1.left_0;
    this.context.mouseY = y + loc1.top_0;
    $startDragging(this);
    if (this.dragging == 1) {
      return;
    }
    $actualMove(this, this.context.mouseX, this.context.mouseY);
  }
   else {
    $startCapturing(this);
  }
}
;
_.capturingWidget = null;
_.context = null;
_.dragging = 1;
_.mouseDownOffsetX = 0;
_.mouseDownOffsetY = 0;
_.mouseDownPageOffsetX = 0;
_.mouseDownPageOffsetY = 0;
var mouseDownWidget = null;
function MouseDragHandler$1_0(){
}

defineSeed(8, 1, {}, MouseDragHandler$1_0);
_.execute = function execute(){
  $clinit_DOMUtil();
  $cancelAllDocumentSelections();
}
;
function MouseDragHandler$2_0(val$elem, val$changedTouches){
  this.val$elem = val$elem;
  this.val$changedTouches = val$changedTouches;
}

defineSeed(9, 1, {}, MouseDragHandler$2_0);
_.execute = function execute_0(){
  $dispatchEvent(this.val$elem, createTouchEndEvent(true, true, 0, this.val$changedTouches));
}
;
_.val$changedTouches = null;
_.val$elem = null;
function MouseDragHandler$3_0(val$elem, val$screenX, val$screenY, val$clientX, val$clientY, val$ctrlKey, val$altKey, val$shiftKey, val$metaKey, val$button){
  this.val$elem = val$elem;
  this.val$screenX = val$screenX;
  this.val$screenY = val$screenY;
  this.val$clientX = val$clientX;
  this.val$clientY = val$clientY;
  this.val$ctrlKey = val$ctrlKey;
  this.val$altKey = val$altKey;
  this.val$shiftKey = val$shiftKey;
  this.val$metaKey = val$metaKey;
  this.val$button = val$button;
}

defineSeed(10, 1, {}, MouseDragHandler$3_0);
_.execute = function execute_1(){
  $dispatchEvent(this.val$elem, $createMouseEvent($doc, 'mouseup', true, true, 1, this.val$screenX, this.val$screenY, this.val$clientX, this.val$clientY, this.val$ctrlKey, this.val$altKey, this.val$shiftKey, this.val$metaKey, this.val$button, null));
}
;
_.val$altKey = false;
_.val$button = 0;
_.val$clientX = 0;
_.val$clientY = 0;
_.val$ctrlKey = false;
_.val$elem = null;
_.val$metaKey = false;
_.val$screenX = 0;
_.val$screenY = 0;
_.val$shiftKey = false;
function MouseDragHandler$RegisteredDraggable_0(this$0, dragable, dragHandle){
  this.dragable = dragable;
  !!dragHandle && $addDomHandler(dragHandle, this$0, ($clinit_TouchStartEvent() , $clinit_TouchStartEvent() , TYPE_11));
  !!dragHandle && $addDomHandler(dragHandle, this$0, ($clinit_MouseDownEvent() , $clinit_MouseDownEvent() , TYPE_3));
}

defineSeed(11, 1, makeCastMap([Q$MouseDragHandler$RegisteredDraggable]), MouseDragHandler$RegisteredDraggable_0);
_.dragable = null;
function $calcBoundaryOffset(this$static){
  var widgetLocation;
  widgetLocation = new WidgetLocation_0(this$static.context.boundaryPanel, null);
  this$static.boundaryOffsetX = widgetLocation.left_0 + ($clinit_DOMUtil() , $getBorderLeft(this$static.context.boundaryPanel.element));
  this$static.boundaryOffsetY = widgetLocation.top_0 + $getBorderTop(this$static.context.boundaryPanel.element);
}

function $dragEnd(this$static){
  if (this$static.context.vetoException) {
    this$static.context.dropController.onLeave(this$static.context);
    this$static.context.dropController = null;
    $restoreSelectedWidgetsLocation(this$static);
  }
   else {
    this$static.context.dropController.onDrop(this$static.context);
    this$static.context.dropController.onLeave(this$static.context);
    this$static.context.dropController = null;
  }
  $restoreSelectedWidgetsStyle(this$static);
  $removeFromParent_0(this$static.movablePanel);
  this$static.movablePanel = null;
  $removeStyleName_1(this$static.context.draggable, 'dragdrop-dragging');
}

--></script>
<script><!--
function $dragMove(this$static){
  var desiredLeft, desiredTop, newDropController, timeMillis;
  timeMillis = fromDouble(currentTimeMillis0());
  if (gte_0(sub_0(timeMillis, this$static.lastResetCacheTimeMillis), P64_longLit)) {
    this$static.lastResetCacheTimeMillis = timeMillis;
    $resetCache(this$static.dropControllerCollection, this$static.boundaryPanel, this$static.context);
    $calcBoundaryOffset(this$static);
  }
  desiredLeft = this$static.context.desiredDraggableX - this$static.boundaryOffsetX;
  desiredTop = this$static.context.desiredDraggableY - this$static.boundaryOffsetY;
  if (this$static.constrainedToBoundaryPanel) {
    desiredLeft = max_0(0, min_0(desiredLeft, this$static.dropTargetClientWidth - $getPropertyInt(this$static.context.draggable.element, 'offsetWidth')));
    desiredTop = max_0(0, min_0(desiredTop, this$static.dropTargetClientHeight - $getPropertyInt(this$static.context.draggable.element, 'offsetHeight')));
  }
  fastSetElementPosition(this$static.movablePanel.element, desiredLeft, desiredTop);
  newDropController = $getIntersectDropController_0(this$static, this$static.context.mouseX, this$static.context.mouseY);
  if (this$static.context.dropController != newDropController) {
    !!this$static.context.dropController && this$static.context.dropController.onLeave(this$static.context);
    this$static.context.dropController = newDropController;
    !!this$static.context.dropController && this$static.context.dropController.onEnter(this$static.context);
  }
  !!this$static.context.dropController && this$static.context.dropController.onMove(this$static.context);
}

function $dragStart(this$static){
  var container, currentDraggableLocation, draggableAbsoluteLeft, draggableAbsoluteTop, location_0, relativeX, relativeY, widget, widget$iterator, widgetLocation;
  $resetCache(this$static.dropControllerCollection, this$static.boundaryPanel, this$static.context);
  $addStyleName_0(this$static.context.draggable, 'dragdrop-dragging');
  this$static.lastResetCacheTimeMillis = fromDouble(currentTimeMillis0());
  currentDraggableLocation = new WidgetLocation_0(this$static.context.draggable, this$static.context.boundaryPanel);
  $saveSelectedWidgetsLocationAndStyle(this$static);
  container = new AbsolutePanel_0;
  container.element.style['overflow'] = 'visible';
  $setPixelSize(container, $getPropertyInt(this$static.context.draggable.element, 'offsetWidth'), $getPropertyInt(this$static.context.draggable.element, 'offsetHeight'));
  $add_12(this$static.context.boundaryPanel, container, currentDraggableLocation.left_0, currentDraggableLocation.top_0);
  draggableAbsoluteLeft = $getAbsoluteLeft(this$static.context.draggable.element);
  draggableAbsoluteTop = $getAbsoluteTop(this$static.context.draggable.element);
  widgetLocation = new HashMap_0;
  for (widget$iterator = new AbstractList$IteratorImpl_0(this$static.context.selectedWidgets); widget$iterator.i < widget$iterator.this$0_0.size_1();) {
    widget = dynamicCast($next_3(widget$iterator), Q$Widget);
    $put_5(widgetLocation, widget, new CoordinateLocation_0($getAbsoluteLeft(widget.getElement()), $getAbsoluteTop(widget.getElement())));
  }
  this$static.context.dropController = $getIntersectDropController_0(this$static, this$static.context.mouseX, this$static.context.mouseY);
  !!this$static.context.dropController && this$static.context.dropController.onEnter(this$static.context);
  for (widget$iterator = new AbstractList$IteratorImpl_0(this$static.context.selectedWidgets); widget$iterator.i < widget$iterator.this$0_0.size_1();) {
    widget = dynamicCast($next_3(widget$iterator), Q$Widget);
    location_0 = dynamicCast(!widget?widgetLocation.nullSlot:$getHashValue(widgetLocation, widget, ~~getHashCode(widget)), Q$Location);
    relativeX = location_0.getLeft() - draggableAbsoluteLeft;
    relativeY = location_0.getTop() - draggableAbsoluteTop;
    $add_12(container, widget, relativeX, relativeY);
  }
  this$static.movablePanel = container;
  $addStyleName_0(this$static.movablePanel, 'dragdrop-movable-panel');
  $calcBoundaryOffset(this$static);
  this$static.dropTargetClientWidth = ($clinit_DOMUtil() , $getClientWidth(this$static.boundaryPanel.element));
  this$static.dropTargetClientHeight = $getClientHeight(this$static.boundaryPanel.element);
}

function $getIntersectDropController_0(this$static, x, y){
  var dropController;
  dropController = $getIntersectDropController(this$static.dropControllerCollection, x, y);
  return dropController?dropController:this$static.boundaryDropController;
}

function $previewDragEnd(this$static){
  var ex;
  try {
    this$static.context.dropController.onPreviewDrop(this$static.context);
  }
   catch ($e0) {
    $e0 = caught_0($e0);
    if (instanceOf($e0, Q$VetoDragException)) {
      ex = $e0;
      throw ex;
    }
     else 
      throw $e0;
  }
}

function $registerDropController(this$static, dropController){
  $add_17(this$static.dropControllerList, dropController);
}

function $restoreSelectedWidgetsLocation(this$static){
  var info, widget, widget$iterator;
  for (widget$iterator = new AbstractList$IteratorImpl_0(this$static.context.selectedWidgets); widget$iterator.i < widget$iterator.this$0_0.size_1();) {
    widget = dynamicCast($next_3(widget$iterator), Q$Widget);
    info = dynamicCast($get_8(this$static.savedWidgetInfoMap, widget), Q$PickupDragController$SavedWidgetInfo);
    if (instanceOf(info.initialDraggableParent, Q$AbsolutePanel)) {
      $add_12(dynamicCast(info.initialDraggableParent, Q$AbsolutePanel), widget, info.initialDraggableParentLocation.left_0, info.initialDraggableParentLocation.top_0);
    }
     else if (instanceOf(info.initialDraggableParent, Q$InsertPanel)) {
      dynamicCast(info.initialDraggableParent, Q$InsertPanel).insert_0(widget, info.initialDraggableIndex);
    }
     else if (instanceOf(info.initialDraggableParent, Q$SimplePanel)) {
      dynamicCast(info.initialDraggableParent, Q$SimplePanel).setWidget(widget);
    }
     else {
      throw new RuntimeException_0('Unable to handle initialDraggableParent ' + info.initialDraggableParent.___clazz$.typeName);
    }
  }
}

function $restoreSelectedWidgetsStyle(this$static){
  var info, widget, widget$iterator;
  for (widget$iterator = new AbstractList$IteratorImpl_0(this$static.context.selectedWidgets); widget$iterator.i < widget$iterator.this$0_0.size_1();) {
    widget = dynamicCast($next_3(widget$iterator), Q$Widget);
    info = dynamicCast($get_8(this$static.savedWidgetInfoMap, widget), Q$PickupDragController$SavedWidgetInfo);
    widget.getElement().style['margin'] = info.initialDraggableMargin;
  }
}

function $saveSelectedWidgetsLocationAndStyle(this$static){
  var info, widget, widget$iterator;
  this$static.savedWidgetInfoMap = new HashMap_0;
  for (widget$iterator = new AbstractList$IteratorImpl_0(this$static.context.selectedWidgets); widget$iterator.i < widget$iterator.this$0_0.size_1();) {
    widget = dynamicCast($next_3(widget$iterator), Q$Widget);
    info = new PickupDragController$SavedWidgetInfo_0;
    info.initialDraggableParent = widget.parent_0;
    if (instanceOf(info.initialDraggableParent, Q$AbsolutePanel)) {
      info.initialDraggableParentLocation = new WidgetLocation_0(widget, info.initialDraggableParent);
    }
     else if (instanceOf(info.initialDraggableParent, Q$InsertPanel)) {
      info.initialDraggableIndex = dynamicCast(info.initialDraggableParent, Q$InsertPanel).getWidgetIndex(widget);
    }
     else if (instanceOf(info.initialDraggableParent, Q$SimplePanel))
    ;
    else {
      throw new RuntimeException_0("Unable to handle 'initialDraggableParent instanceof " + info.initialDraggableParent.___clazz$.typeName + "'; Please create your own " + Lcom_allen_1sauer_gwt_dnd_client_PickupDragController_2_classLit.typeName + ' and override saveSelectedWidgetsLocationAndStyle(), restoreSelectedWidgetsLocation() and restoreSelectedWidgetsStyle()');
    }
    info.initialDraggableMargin = widget.getElement().style['margin'];
    widget.getElement().style['margin'] = '0px';
    $put_5(this$static.savedWidgetInfoMap, widget, info);
  }
}

function PickupDragController_0(boundaryPanel){
  this.dragHandles = new HashMap_0;
  this.boundaryPanel = boundaryPanel;
  this.context = new DragContext_0(this);
  this.mouseDragHandler = new MouseDragHandler_0(this.context);
  this.dropControllerList = new ArrayList_0;
  this.boundaryDropController = new BoundaryDropController_0(boundaryPanel);
  $registerDropController(this, this.boundaryDropController);
  this.dropControllerCollection = new DropControllerCollection_0(this.dropControllerList);
}

defineSeed(12, 3, makeCastMap([Q$AbstractDragController, Q$DragController, Q$FiresDragEvents, Q$PickupDragController]), PickupDragController_0);
_.boundaryDropController = null;
_.boundaryOffsetX = 0;
_.boundaryOffsetY = 0;
_.dropControllerCollection = null;
_.dropTargetClientHeight = 0;
_.dropTargetClientWidth = 0;
_.lastResetCacheTimeMillis = P0_longLit;
_.movablePanel = null;
_.savedWidgetInfoMap = null;
function PickupDragController$SavedWidgetInfo_0(){
}

defineSeed(13, 1, makeCastMap([Q$PickupDragController$SavedWidgetInfo]), PickupDragController$SavedWidgetInfo_0);
_.initialDraggableIndex = 0;
_.initialDraggableMargin = null;
_.initialDraggableParent = null;
_.initialDraggableParentLocation = null;
function $printStackTrace(this$static){
  var causeMessage, currentCause, msg;
  msg = new StringBuffer_0;
  currentCause = this$static;
  while (currentCause) {
    causeMessage = currentCause.getMessage();
    currentCause != this$static && (msg.impl.string += 'Caused by: ' , msg);
    $append_4(msg, currentCause.___clazz$.typeName);
    msg.impl.string += ': ';
    $append_1(msg.impl, causeMessage == null?'(No exception detail)':causeMessage);
    msg.impl.string += '\n';
    currentCause = currentCause.cause;
  }
}

function $setStackTrace(stackTrace){
  var c, copy, i;
  copy = initDim(_3Ljava_lang_StackTraceElement_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$StackTraceElement, stackTrace.length, 0);
  for (i = 0 , c = stackTrace.length; i < c; ++i) {
    if (!stackTrace[i]) {
      throw new NullPointerException_0;
    }
    copy[i] = stackTrace[i];
  }
}

function $toString(this$static){
  var className, msg;
  className = this$static.___clazz$.typeName;
  msg = this$static.getMessage();
  return msg != null?className + ': ' + msg:className;
}

defineSeed(16, 1, makeCastMap([Q$Serializable, Q$Throwable]));
_.getMessage = function getMessage(){
  return this.detailMessage;
}
;
_.toString$ = function toString_1(){
  return $toString(this);
}
;
_.cause = null;
_.detailMessage = null;
function Exception_0(message){
  $fillInStackTrace();
  this.detailMessage = message;
}

defineSeed(15, 16, makeCastMap([Q$Serializable, Q$Exception, Q$Throwable]), Exception_0);
function VetoDragException_0(){
  $fillInStackTrace();
}

defineSeed(14, 15, makeCastMap([Q$VetoDragException, Q$Serializable, Q$Exception, Q$Throwable]), VetoDragException_0);
defineSeed(19, 1, makeCastMap([Q$DropController]));
_.getDropTarget = function getDropTarget(){
  return this.dropTarget_0;
}
;
_.onDrop = function onDrop(context){
}
;
_.onEnter = function onEnter(context){
  $addStyleName_0(this.dropTarget_0, 'dragdrop-dropTarget-engage');
}
;
_.onLeave = function onLeave(context){
  $removeStyleName_1(this.dropTarget_0, 'dragdrop-dropTarget-engage');
}
;
_.onMove = function onMove(context){
}
;
_.onPreviewDrop = function onPreviewDrop(context){
}
;
_.dropTarget_0 = null;
defineSeed(18, 19, makeCastMap([Q$DropController]));
function $clinit_AbsolutePositionDropController(){
  $clinit_AbsolutePositionDropController = nullMethod;
  DUMMY_LABEL_IE_QUIRKS_MODE_OFFSET_HEIGHT = new Label_2('x');
}

function $calcDropTargetOffset(this$static){
  var dropTargetLocation;
  dropTargetLocation = new WidgetLocation_0(this$static.dropTarget, null);
  this$static.dropTargetOffsetX = dropTargetLocation.left_0 + ($clinit_DOMUtil() , $getBorderLeft(this$static.dropTarget.element));
  this$static.dropTargetOffsetY = dropTargetLocation.top_0 + $getBorderTop(this$static.dropTarget.element);
}

function $makePositioner(reference){
  var inner, offsetHeight, offsetWidth, outer;
  outer = new SimplePanel_0;
  setStyleName(outer.getStyleElement(), 'dragdrop-positioner', true);
  outer.element.style['margin'] = '0px';
  $add_12(($clinit_RootPanel() , get_3()), outer, -500, -500);
  outer.setWidget(DUMMY_LABEL_IE_QUIRKS_MODE_OFFSET_HEIGHT);
  inner = new SimplePanel_0;
  inner.element.style['margin'] = '0px';
  inner.element.style['border'] = 'none';
  offsetWidth = reference.getOffsetWidth() - ($clinit_DOMUtil() , outer.getOffsetWidth() - $getClientWidth(outer.element));
  offsetHeight = reference.getOffsetHeight() - (outer.getOffsetHeight() - $getClientHeight(outer.element));
  offsetWidth >= 0 && inner.setWidth_1(offsetWidth + 'px');
  offsetHeight >= 0 && inner.setHeight_1(offsetHeight + 'px');
  outer.setWidget(inner);
  return outer;
}

function AbsolutePositionDropController_0(dropTarget){
  $clinit_AbsolutePositionDropController();
  this.dropTarget_0 = dropTarget;
  setStyleName(dropTarget.element, 'dragdrop-dropTarget', true);
  this.draggableList = new ArrayList_0;
  this.dropTarget = dropTarget;
}

defineSeed(17, 18, makeCastMap([Q$DropController]), AbsolutePositionDropController_0);
_.makePositioner = function makePositioner(reference){
  return $makePositioner(reference);
}
;
_.onDrop = function onDrop_0(context){
  var draggable, draggable$iterator;
  for (draggable$iterator = new AbstractList$IteratorImpl_0(this.draggableList); draggable$iterator.i < draggable$iterator.this$0_0.size_1();) {
    draggable = dynamicCast($next_3(draggable$iterator), Q$AbsolutePositionDropController$Draggable);
    $removeFromParent_0(draggable.positioner);
    $add_12(this.dropTarget, draggable.widget, draggable.desiredX, draggable.desiredY);
  }
}
;
_.onEnter = function onEnter_0(context){
  var draggable, draggableAbsoluteLeft, draggableAbsoluteTop, widget, widget$iterator;
  $addStyleName_0(this.dropTarget_0, 'dragdrop-dropTarget-engage');
  this.dropTargetClientWidth = ($clinit_DOMUtil() , $getClientWidth(this.dropTarget.element));
  this.dropTargetClientHeight = $getClientHeight(this.dropTarget.element);
  $calcDropTargetOffset(this);
  draggableAbsoluteLeft = $getAbsoluteLeft(context.draggable.element);
  draggableAbsoluteTop = $getAbsoluteTop(context.draggable.element);
  for (widget$iterator = new AbstractList$IteratorImpl_0(context.selectedWidgets); widget$iterator.i < widget$iterator.this$0_0.size_1();) {
    widget = dynamicCast($next_3(widget$iterator), Q$Widget);
    draggable = new AbsolutePositionDropController$Draggable_0(widget);
    draggable.positioner = this.makePositioner(widget);
    draggable.relativeX = $getAbsoluteLeft(widget.getElement()) - draggableAbsoluteLeft;
    draggable.relativeY = $getAbsoluteTop(widget.getElement()) - draggableAbsoluteTop;
    $add_17(this.draggableList, draggable);
  }
}
;
_.onLeave = function onLeave_0(context){
  var draggable, draggable$iterator;
  for (draggable$iterator = new AbstractList$IteratorImpl_0(this.draggableList); draggable$iterator.i < draggable$iterator.this$0_0.size_1();) {
    draggable = dynamicCast($next_3(draggable$iterator), Q$AbsolutePositionDropController$Draggable);
    $removeFromParent_0(draggable.positioner);
  }
  $clear_1(this.draggableList);
  $removeStyleName_1(this.dropTarget_0, 'dragdrop-dropTarget-engage');
}
;
_.onMove = function onMove_0(context){
  var draggable, draggable$iterator;
  for (draggable$iterator = new AbstractList$IteratorImpl_0(this.draggableList); draggable$iterator.i < draggable$iterator.this$0_0.size_1();) {
    draggable = dynamicCast($next_3(draggable$iterator), Q$AbsolutePositionDropController$Draggable);
    draggable.desiredX = context.desiredDraggableX - this.dropTargetOffsetX + draggable.relativeX;
    draggable.desiredY = context.desiredDraggableY - this.dropTargetOffsetY + draggable.relativeY;
    draggable.desiredX = max_0(0, min_0(draggable.desiredX, this.dropTargetClientWidth - draggable.offsetWidth_0));
    draggable.desiredY = max_0(0, min_0(draggable.desiredY, this.dropTargetClientHeight - draggable.offsetHeight_0));
    $add_12(this.dropTarget, draggable.positioner, draggable.desiredX, draggable.desiredY);
  }
  dynamicCast($get_6(this.draggableList, this.draggableList.size_0 - 1), Q$AbsolutePositionDropController$Draggable).positioner.element.scrollIntoView();
  $calcDropTargetOffset(this);
}
;
_.dropTarget = null;
_.dropTargetClientHeight = 0;
_.dropTargetClientWidth = 0;
_.dropTargetOffsetX = 0;
_.dropTargetOffsetY = 0;
var DUMMY_LABEL_IE_QUIRKS_MODE_OFFSET_HEIGHT;
function AbsolutePositionDropController$Draggable_0(widget){
  this.widget = widget;
  this.offsetWidth_0 = widget.getOffsetWidth();
  this.offsetHeight_0 = widget.getOffsetHeight();
}

defineSeed(20, 1, makeCastMap([Q$AbsolutePositionDropController$Draggable]), AbsolutePositionDropController$Draggable_0);
_.desiredX = 0;
_.desiredY = 0;
_.offsetHeight_0 = 0;
_.offsetWidth_0 = 0;
_.positioner = null;
_.relativeX = 0;
_.relativeY = 0;
_.widget = null;
function BoundaryDropController_0(dropTarget){
  $clinit_AbsolutePositionDropController();
  AbsolutePositionDropController_0.call(this, dropTarget);
  setStyleName(dropTarget.element, 'dragdrop-boundary', true);
  this.allowDroppingOnBoundaryPanel = false;
}

defineSeed(21, 17, makeCastMap([Q$DropController]), BoundaryDropController_0);
_.makePositioner = function makePositioner_0(reference){
  return this.allowDroppingOnBoundaryPanel?$makePositioner(reference):new SimplePanel_0;
}
;
_.onPreviewDrop = function onPreviewDrop_0(context){
  if (!this.allowDroppingOnBoundaryPanel) {
    throw new VetoDragException_0;
  }
}
;
_.allowDroppingOnBoundaryPanel = true;
function $intersects(this$static, targetArea){
  if (this$static.right < targetArea.left_0 || this$static.left_0 > targetArea.right || this$static.bottom < targetArea.top_0 || this$static.top_0 > targetArea.bottom) {
    return false;
  }
  return true;
}

function $setBottom(this$static, bottom){
  this$static.bottom = bottom;
}

function $setLeft(this$static, left){
  this$static.left_0 = left;
}

function $setRight(this$static, right){
  this$static.right = right;
}

function $setTop(this$static, top_0){
  this$static.top_0 = top_0;
}

defineSeed(22, 1, {});
_.toString$ = function toString_2(){
  return '[ (' + this.left_0 + ', ' + this.top_0 + ') - (' + this.right + ', ' + this.bottom + ') ]';
}
;
_.bottom = 0;
_.left_0 = 0;
_.right = 0;
_.top_0 = 0;
defineSeed(23, 1, makeCastMap([Q$Location]));
_.toString$ = function toString_3(){
  return '(' + this.getLeft() + ', ' + this.getTop() + ')';
}
;
function CoordinateLocation_0(left, top_0){
  this.left_0 = left;
  this.top_0 = top_0;
}

defineSeed(24, 23, makeCastMap([Q$Location]), CoordinateLocation_0);
_.getLeft = function getLeft(){
  return this.left_0;
}
;
_.getTop = function getTop(){
  return this.top_0;
}
;
_.left_0 = 0;
_.top_0 = 0;
function $clinit_DOMUtil(){
  $clinit_DOMUtil = nullMethod;
  impl_0 = new DOMUtilImplOpera_0;
}

function createTouchEndEvent(bubbles, cancelable, detail, changedTouches){
  $clinit_DOMUtil();
  var evt = $doc.createEvent('TouchEvent');
  var view = null;
  evt.initUIEvent('touchend', bubbles, cancelable, view, detail);
  evt.changedTouches = changedTouches;
  return evt;
}

function fastSetElementPosition(elem, left, top_0){
  $clinit_DOMUtil();
  elem.style['left'] = left + ($clinit_Style$Unit() , 'px');
  elem.style['top'] = top_0 + 'px';
}

var impl_0 = null;
function WidgetArea_0(widget){
  var bottom, elem, left, p, right, top_0;
  $setLeft(this, $getAbsoluteLeft(widget.getElement()));
  $setTop(this, $getAbsoluteTop(widget.getElement()));
  $setRight(this, this.left_0 + $getPropertyInt(widget.element, 'offsetWidth'));
  $setBottom(this, this.top_0 + $getPropertyInt(widget.element, 'offsetHeight'));
  elem = widget.element.offsetParent;
  while (!!elem && !!(p = elem.offsetParent)) {
    if (!$equals_2('visible', ($clinit_DOMUtil() , $getEffectiveStyle(impl_0, elem, 'overflow')))) {
      left = $getAbsoluteLeft(elem);
      this.left_0 < left && (this.left_0 = left);
      top_0 = $getAbsoluteTop(elem);
      this.top_0 < top_0 && (this.top_0 = top_0);
      bottom = top_0 + (elem.offsetHeight || 0);
      this.bottom > bottom && $setBottom(this, max_0(this.top_0, bottom));
      right = left + (elem.offsetWidth || 0);
      this.right > right && $setRight(this, max_0(this.left_0, right));
    }
    elem = p;
  }
}

defineSeed(27, 22, {}, WidgetArea_0);
function $internalSetReference(this$static, reference){
  if (!reference || reference == ($clinit_RootPanel() , get_3())) {
    this$static.referenceAdjustLeft = 0;
    this$static.referenceAdjustTop = 0;
  }
   else {
    this$static.referenceAdjustLeft = $getAbsoluteLeft(reference.getElement()) + ($clinit_DOMUtil() , $getBorderLeft(reference.getElement()));
    this$static.referenceAdjustTop = $getAbsoluteTop(reference.getElement()) + $getBorderTop(reference.getElement());
  }
}

function $internalSetWidget(this$static, widget){
  if (!widget || widget == ($clinit_RootPanel() , get_3())) {
    this$static.widgetLeft = 0;
    this$static.widgetTop = 0;
  }
   else {
    this$static.widgetLeft = $getAbsoluteLeft(widget.getElement()) - (widget.getElement().scrollLeft || 0);
    this$static.widgetTop = $getAbsoluteTop(widget.getElement()) - (widget.getElement().scrollTop || 0);
  }
}

function WidgetLocation_0(widget, reference){
  $internalSetWidget(this, widget);
  $internalSetReference(this, reference);
  this.left_0 = this.widgetLeft - this.referenceAdjustLeft;
  this.top_0 = this.widgetTop - this.referenceAdjustTop;
}

defineSeed(28, 23, makeCastMap([Q$Location]), WidgetLocation_0);
_.getLeft = function getLeft_0(){
  return this.left_0;
}
;
_.getTop = function getTop_0(){
  return this.top_0;
}
;
_.toString$ = function toString_4(){
  return '(' + this.left_0 + ', ' + this.top_0 + ')';
}
;
_.left_0 = 0;
_.referenceAdjustLeft = 0;
_.referenceAdjustTop = 0;
_.top_0 = 0;
_.widgetLeft = 0;
_.widgetTop = 0;
function $getEffectiveStyle(this$static, elem, style){
  return this$static.getComputedStyle_0(elem, style) || (elem.currentStyle?elem.currentStyle[style]:null) || elem.style[style];
}

defineSeed(29, 1, {});
_.getComputedStyle_0 = function getComputedStyle_0(elem, style){
  if ($doc.defaultView && $doc.defaultView.getComputedStyle) {
    var styles = $doc.defaultView.getComputedStyle(elem, '');
    if (styles) {
      return styles[style];
    }
  }
  return null;
}
;
function $cancelAllDocumentSelections(){
  try {
    $wnd.getSelection().removeAllRanges();
  }
   catch (e) {
    throw new Error('unselect exception:\n' + e);
  }
}

function $getBorderLeft(elem){
  try {
    var computedStyle = $doc.defaultView.getComputedStyle(elem, null);
    var borderLeftWidth = computedStyle.getPropertyValue('border-left-width');
    return borderLeftWidth.indexOf('px') == -1?0:parseInt(borderLeftWidth.substr(0, borderLeftWidth.length - 2));
  }
   catch (e) {
    throw new Error('getBorderLeft exception:\n' + e);
  }
}

function $getBorderTop(elem){
  try {
    var computedStyle = $doc.defaultView.getComputedStyle(elem, null);
    var borderTopWidth = computedStyle.getPropertyValue('border-top-width');
    return borderTopWidth.indexOf('px') == -1?0:parseInt(borderTopWidth.substr(0, borderTopWidth.length - 2));
  }
   catch (e) {
    throw new Error('getBorderTop: ' + e);
  }
}

function $getClientHeight(elem){
  try {
    return elem.clientHeight;
  }
   catch (e) {
    throw new Error('getClientHeight exception:\n' + e);
  }
}

function $getClientWidth(elem){
  try {
    return elem.clientWidth;
  }
   catch (e) {
    throw new Error('getClientWidth exception:\n' + e);
  }
}

defineSeed(31, 29, {});
function DOMUtilImplOpera_0(){
}

defineSeed(30, 31, {}, DOMUtilImplOpera_0);
function $clinit_GXT(){
  $clinit_GXT = nullMethod;
  IMAGES = new XImages_generatedBundle_0;
  SSL_SECURE_URL = getModuleBaseURL() + 'blank.html';
}

function getDocumentMode(){
  return $doc.documentMode || -1;
}

function init(){
  var computedStyle;
  $clinit_GXT();
  var bodyEl, cls, div, fileName, p, t, theme, themeId, ua;
  if (initialized) {
    return;
  }
  initialized = true;
  div = $doc.createElement('div');
  div.className = 'x-contrast-test';
  $appendChild_0(getBody(), div);
  if ($equals_2('none', ($clinit_XDOM() , typeof div.currentStyle != 'undefined'?(computedStyle = div.currentStyle):(computedStyle = $doc.defaultView.getComputedStyle(div, null)) , computedStyle['backgroundImage']))) {
    isHighContrastMode = true;
    $addStyleName((!bodyEl_0 && (bodyEl_0 = new El_0(getBody())) , bodyEl_0), initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['x-contrast']));
  }
  $removeChild(getBody(), div);
  ua = $wnd.navigator.userAgent.toLowerCase();
  isOpera = ua.indexOf('opera') != -1;
  isIE_0 = !isOpera && ua.indexOf('msie') != -1;
  if (!isOpera && isIE_0) {
    if (getDocumentMode() >= 9) {
      isIE9 = true;
    }
     else if (getDocumentMode() == 8) {
      isIE8 = true;
    }
     else {
      isIE6 = !isOpera && ua.indexOf('msie 6') != -1;
      isIE7 = !isOpera && ua.indexOf('msie 7') != -1;
    }
  }
  isChrome = !isIE_0 && ua.indexOf('chrome') != -1;
  isWebKit = ua.indexOf('webkit') != -1;
  isSafari = !isChrome && ua.indexOf('safari') != -1;
  isSafari3 = isSafari && ua.indexOf('version/3') != -1;
  isSafari4 = isSafari && ua.indexOf('version/4') != -1;
  isSafari2 = isSafari && !isSafari3 && !isSafari4;
  isGecko = !isWebKit && ua.indexOf('gecko') != -1;
  isGecko && ua.indexOf('rv:1.9.1') != -1;
  isGecko3 = isGecko && ua.indexOf('rv:1.9.') != -1;
  isGecko2 = isGecko && ua.indexOf('rv:1.8.') != -1;
  isWindows = ua.indexOf('windows') != -1 || ua.indexOf('win32') != -1;
  isMac = ua.indexOf('macintosh') != -1 || ua.indexOf('mac os x') != -1;
  ua.indexOf('adobeair') != -1;
  isLinux = ua.indexOf('linux') != -1;
  useShims || (useShims = isIE6 || isMac && isGecko2);
  isStrict = $equals_2($doc.compatMode, 'CSS1Compat');
  isBorderBox_0 = isBorderBox_1($doc.createElement('div'));
  isSecure = $wnd.location.protocol.toLowerCase().indexOf('https') == 0;
  BLANK_IMAGE_URL == null && (isIE8 || isGecko && !isSecure?(BLANK_IMAGE_URL = ''):(BLANK_IMAGE_URL = getModuleBaseURL() + 'clear.gif'));
  bodyEl = (!bodyEl_0 && (bodyEl_0 = new El_0(getBody())) , bodyEl_0);
  isBorderBox_0 && $addStyleName(bodyEl, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['ext-border-box']));
  if (isIE_0) {
    $addStyleName(bodyEl, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['ext-ie']));
    cls = isIE6?'ext-ie6':isIE7?'ext-ie7':isIE8?'ext-ie8':isIE9?'ext-ie9':null;
    $addStyleName(bodyEl, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, [cls]));
    isIE7 && isIE8compatibility() && $addStyleName(bodyEl, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['ext-ie8-compatibility']));
  }
   else if (isGecko) {
    $addStyleName(bodyEl, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['ext-gecko']));
    cls = isGecko2?'ext-gecko2':isGecko3?'ext-gecko3':null;
    $addStyleName(bodyEl, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, [cls]));
  }
   else if (isOpera) {
    $addStyleName(bodyEl, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['ext-opera']));
  }
   else if (isWebKit) {
    $addStyleName(bodyEl, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['ext-webkit']));
    isSafari?$addStyleName(bodyEl, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['ext-safari'])):isChrome && $addStyleName(bodyEl, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['ext-chrome']));
  }
  isWindows?$addStyleName(bodyEl, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['ext-windows'])):isMac?$addStyleName(bodyEl, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['ext-mac'])):isLinux && $addStyleName(bodyEl, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['ext-linux']));
  !($clinit_StateManager() , $clinit_StateManager() , instance_1).provider && $setProvider(instance_1, new CookieProvider_0(null, isSecure));
  theme = $getMap_0(getModuleBaseURL() + 'theme');
  if (theme) {
    themeId = '' + theme.get_0('id');
    t = findTheme(themeId);
    if (t) {
      t.init();
      fileName = toString__devirtual$(theme.get_0('file'));
      fileName.indexOf('gxt-all.css') != -1 || addStyleSheet(themeId, fileName);
      $addStyleName(bodyEl, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['x-theme-' + themeId]));
    }
    $set_6(instance_1, getModuleBaseURL() + 'theme', theme);
  }
  if (isStrict) {
    p = $getParentElement(getBody());
    !!p && $addStyleName(($clinit_El() , fly_1(p, '_global')), initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['ext-strict']));
  }
  isIE6 && removeBackgroundFlicker();
}

function isIE8compatibility(){
  if (isIE7) {
    if ($doc.documentMode) {
      return true;
    }
  }
  return false;
}

function removeBackgroundFlicker(){
  try {
    $doc.execCommand('BackgroundImageCache', false, true);
  }
   catch (e) {
  }
}

--></script>
<script><!--
var BLANK_IMAGE_URL = null, IMAGES, SSL_SECURE_URL, ariaEnabled = false, focusManagerEnabled = false, initialized = false, isBorderBox_0 = false, isChrome = false, isGecko = false, isGecko2 = false, isGecko3 = false, isHighContrastMode = false, isIE_0 = false, isIE6 = false, isIE7 = false, isIE8 = false, isIE9 = false, isLinux = false, isMac = false, isOpera = false, isSafari = false, isSafari2 = false, isSafari3 = false, isSafari4 = false, isSecure = false, isStrict = false, isWebKit = false, isWindows = false, useShims = false;
function $compareTo_0(this$static, other){
  return this$static.ordinal - other.ordinal;
}

function Enum_0(name_0, ordinal){
  this.name_0 = name_0;
  this.ordinal = ordinal;
}

defineSeed(34, 1, makeCastMap([Q$Serializable, Q$Comparable, Q$Enum]));
_.compareTo$ = function compareTo_0(other){
  return $compareTo_0(this, dynamicCast(other, Q$Enum));
}
;
_.equals$ = function equals_1(other){
  return this === other;
}
;
_.hashCode$ = function hashCode_2(){
  return getHashCode(this);
}
;
_.toString$ = function toString_5(){
  return this.name_0;
}
;
_.name_0 = null;
_.ordinal = 0;
function $clinit_Style$ButtonScale(){
  $clinit_Style$ButtonScale = nullMethod;
  SMALL = new Style$ButtonScale_0('SMALL', 0);
  MEDIUM = new Style$ButtonScale_0('MEDIUM', 1);
  LARGE = new Style$ButtonScale_0('LARGE', 2);
  $VALUES = initValues(_3Lcom_extjs_gxt_ui_client_Style$ButtonScale_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$Style$ButtonScale, [SMALL, MEDIUM, LARGE]);
}

function Style$ButtonScale_0(enum$name, enum$ordinal){
  Enum_0.call(this, enum$name, enum$ordinal);
}

function values_0(){
  $clinit_Style$ButtonScale();
  return $VALUES;
}

defineSeed(33, 34, makeCastMap([Q$Style$ButtonScale, Q$Serializable, Q$Comparable, Q$Enum]), Style$ButtonScale_0);
var $VALUES, LARGE, MEDIUM, SMALL;
function $clinit_Style$Direction(){
  $clinit_Style$Direction = nullMethod;
  UP = new Style$Direction_0('UP', 0);
  DOWN = new Style$Direction_0('DOWN', 1);
  LEFT = new Style$Direction_0('LEFT', 2);
  RIGHT = new Style$Direction_0('RIGHT', 3);
  $VALUES_0 = initValues(_3Lcom_extjs_gxt_ui_client_Style$Direction_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$Style$Direction, [UP, DOWN, LEFT, RIGHT]);
}

function Style$Direction_0(enum$name, enum$ordinal){
  Enum_0.call(this, enum$name, enum$ordinal);
}

function values_1(){
  $clinit_Style$Direction();
  return $VALUES_0;
}

defineSeed(35, 34, makeCastMap([Q$Style$Direction, Q$Serializable, Q$Comparable, Q$Enum]), Style$Direction_0);
var $VALUES_0, DOWN, LEFT, RIGHT, UP;
function $clinit_Style$HideMode(){
  $clinit_Style$HideMode = nullMethod;
  OFFSETS = new Style$HideMode_0('OFFSETS', 0, 'x-hide-offsets');
  VISIBILITY = new Style$HideMode_0('VISIBILITY', 1, 'x-hide-visibility');
  DISPLAY = new Style$HideMode_0('DISPLAY', 2, 'x-hide-display');
  $VALUES_1 = initValues(_3Lcom_extjs_gxt_ui_client_Style$HideMode_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$Style$HideMode, [OFFSETS, VISIBILITY, DISPLAY]);
}

function Style$HideMode_0(enum$name, enum$ordinal, value){
  Enum_0.call(this, enum$name, enum$ordinal);
  this.value_0 = value;
}

function values_2(){
  $clinit_Style$HideMode();
  return $VALUES_1;
}

defineSeed(36, 34, makeCastMap([Q$Style$HideMode, Q$Serializable, Q$Comparable, Q$Enum]), Style$HideMode_0);
_.value_0 = null;
var $VALUES_1, DISPLAY, OFFSETS, VISIBILITY;
function $clinit_Style$HorizontalAlignment(){
  $clinit_Style$HorizontalAlignment = nullMethod;
  LEFT_0 = new Style$HorizontalAlignment_0('LEFT', 0);
  CENTER = new Style$HorizontalAlignment_0('CENTER', 1);
  RIGHT_0 = new Style$HorizontalAlignment_0('RIGHT', 2);
  $VALUES_2 = initValues(_3Lcom_extjs_gxt_ui_client_Style$HorizontalAlignment_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$Style$HorizontalAlignment, [LEFT_0, CENTER, RIGHT_0]);
}

function Style$HorizontalAlignment_0(enum$name, enum$ordinal){
  Enum_0.call(this, enum$name, enum$ordinal);
}

function values_3(){
  $clinit_Style$HorizontalAlignment();
  return $VALUES_2;
}

defineSeed(37, 34, makeCastMap([Q$Style$HorizontalAlignment, Q$Serializable, Q$Comparable, Q$Enum]), Style$HorizontalAlignment_0);
var $VALUES_2, CENTER, LEFT_0, RIGHT_0;
function $clinit_Style$IconAlign(){
  $clinit_Style$IconAlign = nullMethod;
  RIGHT_1 = new Style$IconAlign_0('RIGHT', 0);
  BOTTOM = new Style$IconAlign_0('BOTTOM', 1);
  TOP = new Style$IconAlign_0('TOP', 2);
  LEFT_1 = new Style$IconAlign_0('LEFT', 3);
  $VALUES_3 = initValues(_3Lcom_extjs_gxt_ui_client_Style$IconAlign_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$Style$IconAlign, [RIGHT_1, BOTTOM, TOP, LEFT_1]);
}

function Style$IconAlign_0(enum$name, enum$ordinal){
  Enum_0.call(this, enum$name, enum$ordinal);
}

function values_4(){
  $clinit_Style$IconAlign();
  return $VALUES_3;
}

defineSeed(38, 34, makeCastMap([Q$Style$IconAlign, Q$Serializable, Q$Comparable, Q$Enum]), Style$IconAlign_0);
var $VALUES_3, BOTTOM, LEFT_1, RIGHT_1, TOP;
function $clinit_Style$Scroll(){
  $clinit_Style$Scroll = nullMethod;
  AUTO = new Style$Scroll_0('AUTO', 0, 'auto');
  AUTOX = new Style$Scroll_0('AUTOX', 1, 'auto');
  AUTOY = new Style$Scroll_0('AUTOY', 2, 'auto');
  ALWAYS = new Style$Scroll_0('ALWAYS', 3, 'scroll');
  NONE = new Style$Scroll_0('NONE', 4, 'hidden');
  $VALUES_4 = initValues(_3Lcom_extjs_gxt_ui_client_Style$Scroll_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$Style$Scroll, [AUTO, AUTOX, AUTOY, ALWAYS, NONE]);
}

function Style$Scroll_0(enum$name, enum$ordinal, value){
  Enum_0.call(this, enum$name, enum$ordinal);
  this.value_0 = value;
}

function values_5(){
  $clinit_Style$Scroll();
  return $VALUES_4;
}

defineSeed(39, 34, makeCastMap([Q$Style$Scroll, Q$Serializable, Q$Comparable, Q$Enum]), Style$Scroll_0);
_.value_0 = null;
var $VALUES_4, ALWAYS, AUTO, AUTOX, AUTOY, NONE;
function $clinit_Style$VerticalAlignment(){
  $clinit_Style$VerticalAlignment = nullMethod;
  TOP_0 = new Style$VerticalAlignment_0('TOP', 0);
  MIDDLE = new Style$VerticalAlignment_0('MIDDLE', 1);
  BOTTOM_0 = new Style$VerticalAlignment_0('BOTTOM', 2);
  $VALUES_5 = initValues(_3Lcom_extjs_gxt_ui_client_Style$VerticalAlignment_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$Style$VerticalAlignment, [TOP_0, MIDDLE, BOTTOM_0]);
}

function Style$VerticalAlignment_0(enum$name, enum$ordinal){
  Enum_0.call(this, enum$name, enum$ordinal);
}

function values_6(){
  $clinit_Style$VerticalAlignment();
  return $VALUES_5;
}

defineSeed(40, 34, makeCastMap([Q$Style$VerticalAlignment, Q$Serializable, Q$Comparable, Q$Enum]), Style$VerticalAlignment_0);
var $VALUES_5, BOTTOM_0, MIDDLE, TOP_0;
function $canHandleTabKey(comp){
  if (instanceOf(comp, Q$HorizontalPanel)) {
    return instanceOf(comp.parent_0, Q$Header);
  }
  return instanceOf(comp, Q$ContentPanel);
}

function $getOrderedWidgets(widget){
  var header, i, len, panel, widgets;
  instanceOf(widget, Q$HorizontalPanel)?(panel = dynamicCast(widget.parent_0.parent_0, Q$ContentPanel)):instanceOf(widget.parent_0, Q$ContentPanel)?(panel = dynamicCast(widget.parent_0, Q$ContentPanel)):(panel = dynamicCast(widget, Q$ContentPanel));
  widgets = new ArrayList_0;
  header = panel.head;
  for (i = 0 , len = header.tools.size_0; i < len; ++i) {
    $add_17(widgets, dynamicCast($get_6(header.tools, i), Q$Component));
  }
  panel.topComponent != null && $add_17(widgets, panel.topComponent);
  for (i = 0 , len = panel.items.size_0; i < len; ++i) {
    $add_17(widgets, i < panel.items.size_0?dynamicCast($get_6(panel.items, i), Q$Component):null);
  }
  panel.bottomComponent != null && $add_17(widgets, panel.bottomComponent);
  !!panel.fbar && panel.fbar.items.size_0 > 0 && $add_17(widgets, panel.fbar);
  return widgets;
}

function ContentPanelNavigationHandler_0(){
}

defineSeed(41, 1, makeCastMap([Q$NavigationHandler]), ContentPanelNavigationHandler_0);
function $onEscape(component){
  $clinit_FocusManager();
  !instance_0 && (instance_0 = new FocusManager_0);
  $stepOut(component);
}

function $stepOut(w){
  var c, p;
  p = w.parent_0;
  if (p) {
    if (instanceOf(p, Q$Component)) {
      c = dynamicCast(p, Q$Component);
      while ((!c.focusManagerSupport && (c.focusManagerSupport = new FocusManagerSupport_0) , c.focusManagerSupport).ignore) {
        p = c.parent_0;
        if (p) {
          if (instanceOf(p, Q$Component)) {
            c = dynamicCast(p, Q$Component);
          }
           else {
            $setFocus(($clinit_El() , fly_1(p.getElement(), '_global')), true);
            return;
          }
        }
      }
      focusWidget(c, true);
    }
     else {
      $setFocus(($clinit_El() , fly_1(p.getElement(), '_global')), true);
      $unframe((!instance && (instance = new FocusFrame_0) , instance));
    }
  }
}

function findForwardOverride(comp){
  var id, p;
  if ((!comp.focusManagerSupport && (comp.focusManagerSupport = new FocusManagerSupport_0) , comp.focusManagerSupport).nextId != null) {
    id = (!comp.focusManagerSupport && (comp.focusManagerSupport = new FocusManagerSupport_0) , comp.focusManagerSupport).nextId;
    p = $get_2(($clinit_ComponentManager() , $clinit_ComponentManager() , instance_3), id);
    if (p) {
      return p;
    }
  }
  if ($hasListeners((!comp.focusManagerSupport && (comp.focusManagerSupport = new FocusManagerSupport_0) , comp.focusManagerSupport), ($clinit_FocusManager() , TabNext))) {
    !comp.focusManagerSupport && (comp.focusManagerSupport = new FocusManagerSupport_0);
    if ($fireEvent(comp.focusManagerSupport, TabNext, new BaseEvent_0)) {
      return comp;
    }
  }
  return null;
}

function findNavigationHandler(comp){
  return $findNavigationHandler(($clinit_FocusManager() , !instance_0 && (instance_0 = new FocusManager_0) , $clinit_FocusManager() , instance_0), comp);
}

function findNextWidget(c){
  var comp, con, handler, hs, idx, it, p, w, widgets;
  if (instanceOf(c, Q$Component)) {
    comp = dynamicCast(c, Q$Component);
    if (findForwardOverride(comp)) {
      return findForwardOverride(comp);
    }
  }
  p = c.parent_0;
  widgets = null;
  handler = null;
  instanceOf(p, Q$Component) && (handler = findNavigationHandler(dynamicCast(p, Q$Component)));
  if (handler) {
    widgets = $getOrderedWidgets(p);
  }
   else if (instanceOf(p, Q$Container)) {
    con = dynamicCast(p, Q$Container);
    widgets = con.items;
  }
   else if (instanceOf(p, Q$HasWidgets)) {
    hs = dynamicCast(p, Q$HasWidgets);
    widgets = new ArrayList_0;
    it = hs.iterator_0();
    while (it.hasNext()) {
      $add_17(widgets, dynamicCast(it.next_0(), Q$Widget));
    }
  }
  if (!widgets) {
    return null;
  }
  idx = $indexOf_1(widgets, c, 0);
  if (idx != -1) {
    w = null;
    idx == widgets.size_0 - 1 && widgets.size_0 > 1?(w = (checkIndex(0, widgets.size_0) , dynamicCast(widgets.array[0], Q$Widget))):idx != widgets.size_0 - 1 && (w = (checkIndex(idx + 1, widgets.size_0) , dynamicCast(widgets.array[idx + 1], Q$Widget)));
    if (isIgnore(w)) {
      return findNextWidget(w);
    }
    return w;
  }
  return null;
}

function findPreviousOverride(comp){
  var id, p;
  if ((!comp.focusManagerSupport && (comp.focusManagerSupport = new FocusManagerSupport_0) , comp.focusManagerSupport).previousId != null) {
    id = (!comp.focusManagerSupport && (comp.focusManagerSupport = new FocusManagerSupport_0) , comp.focusManagerSupport).previousId;
    if ($equals_2('parent-previous', id)) {
      p = comp.parent_0;
      return p;
    }
    p = $get_2(($clinit_ComponentManager() , $clinit_ComponentManager() , instance_3), id);
    if (p) {
      return p;
    }
  }
  if ($hasListeners((!comp.focusManagerSupport && (comp.focusManagerSupport = new FocusManagerSupport_0) , comp.focusManagerSupport), ($clinit_FocusManager() , TabPrevious))) {
    !comp.focusManagerSupport && (comp.focusManagerSupport = new FocusManagerSupport_0);
    if ($fireEvent(comp.focusManagerSupport, TabPrevious, new BaseEvent_0)) {
      return comp;
    }
  }
  return null;
}

function findPreviousWidget(c){
  var comp, con, handler, hs, idx, it, p, size, widgets;
  if (instanceOf(c, Q$Component)) {
    comp = dynamicCast(c, Q$Component);
    if (findPreviousOverride(comp)) {
      return findPreviousOverride(comp);
    }
  }
  p = c.parent_0;
  widgets = null;
  handler = instanceOf(p, Q$Component)?findNavigationHandler(dynamicCast(p, Q$Component)):null;
  if (handler) {
    widgets = $getOrderedWidgets(p);
  }
   else if (instanceOf(p, Q$Container)) {
    con = dynamicCast(p, Q$Container);
    widgets = con.items;
  }
   else if (instanceOf(p, Q$HasWidgets)) {
    hs = dynamicCast(p, Q$HasWidgets);
    widgets = new ArrayList_0;
    it = hs.iterator_0();
    while (it.hasNext()) {
      $add_17(widgets, dynamicCast(it.next_0(), Q$Widget));
    }
  }
  if (!widgets) {
    return null;
  }
  size = widgets.size_0;
  idx = $indexOf_1(widgets, c, 0);
  if (idx != -1) {
    if (idx > 0) {
      return checkIndex(idx - 1, widgets.size_0) , dynamicCast(widgets.array[idx - 1], Q$Widget);
    }
     else if (idx != 0 && size > 1) {
      return checkIndex(size - 1, widgets.size_0) , dynamicCast(widgets.array[size - 1], Q$Widget);
    }
     else if (idx == 0 && size > 1) {
      return checkIndex(size - 1, widgets.size_0) , dynamicCast(widgets.array[size - 1], Q$Widget);
    }
  }
  return null;
}

function focusNextWidget(c){
  var comp, con, handler, hs, idx, it, p, widgets;
  if (instanceOf(c, Q$Component)) {
    comp = dynamicCast(c, Q$Component);
    if (forwardIfOverride(comp)) {
      return true;
    }
  }
  p = c.parent_0;
  widgets = null;
  handler = null;
  instanceOf(p, Q$Component) && (handler = findNavigationHandler(dynamicCast(p, Q$Component)));
  if (handler) {
    widgets = $getOrderedWidgets(p);
  }
   else if (instanceOf(p, Q$Container)) {
    con = dynamicCast(p, Q$Container);
    widgets = con.items;
  }
   else if (instanceOf(p, Q$HasWidgets)) {
    hs = dynamicCast(p, Q$HasWidgets);
    widgets = new ArrayList_0;
    it = hs.iterator_0();
    while (it.hasNext()) {
      $add_17(widgets, dynamicCast(it.next_0(), Q$Widget));
    }
  }
  if (!widgets || widgets.size_0 == 1) {
    return false;
  }
  idx = $indexOf_1(widgets, c, 0);
  if (idx != -1) {
    idx = idx == widgets.size_0 - 1?0:++idx;
    return focusWidget((checkIndex(idx, widgets.size_0) , dynamicCast(widgets.array[idx], Q$Widget)), true);
  }
  return false;
}

function focusPreviousWidget(c){
  var comp, w;
  if (instanceOf(c, Q$Component)) {
    comp = dynamicCast(c, Q$Component);
    if (previousIfOverride(comp)) {
      return true;
    }
  }
  w = findPreviousWidget(c);
  if (w) {
    return focusWidget(w, false);
  }
  return false;
}

function focusWidget(w, forward_0){
  var c;
  if (instanceOf(w, Q$Component)) {
    c = dynamicCast(w, Q$Component);
    if (instanceOf(c, Q$Field)) {
      c.focus_0();
      return true;
    }
    if ((!c.focusManagerSupport && (c.focusManagerSupport = new FocusManagerSupport_0) , c.focusManagerSupport).ignore) {
      if (isContainer(c)) {
        stepInto(c, null, forward_0);
      }
       else {
        return forward_0?focusNextWidget(c):focusPreviousWidget(c);
      }
    }
     else {
      c.focus_0();
      return true;
    }
  }
   else {
    $setFocus(($clinit_El() , fly_1(w.getElement(), '_global')), true);
    return true;
  }
  return false;
}

function forwardIfOverride(comp){
  var c;
  c = findForwardOverride(comp);
  if (c) {
    focusWidget(c, true);
    return true;
  }
  return false;
}

function isContainer(w){
  if (instanceOf(w, Q$LayoutContainer) || instanceOf(w, Q$Panel)) {
    return true;
  }
  return false;
}

function isIgnore(w){
  var c;
  if (instanceOf(w, Q$Component)) {
    c = dynamicCast(w, Q$Component);
    if ((!c.focusManagerSupport && (c.focusManagerSupport = new FocusManagerSupport_0) , c.focusManagerSupport).ignore) {
      return true;
    }
  }
  return false;
}

function previousIfOverride(comp){
  var c;
  c = findPreviousOverride(comp);
  if (c) {
    focusWidget(c, false);
    return true;
  }
  return false;
}

function stepInto(w, pe, forward_0){
  var c, handler, panel, widgets;
  handler = findNavigationHandler(dynamicCast(w, Q$Component));
  if (handler) {
    widgets = $getOrderedWidgets(w);
    if (widgets.size_0 > 0) {
      !!pe && (!!pe.event_0 && (pe.event_0.cancelBubble = true , undefined) , !!pe.event_0 && (pe.event_0.preventDefault() , undefined));
      focusWidget((checkIndex(0, widgets.size_0) , dynamicCast(widgets.array[0], Q$Widget)), true);
      return;
    }
  }
  if (instanceOf(w, Q$ContentPanel)) {
    !!pe && (!!pe.event_0 && (pe.event_0.cancelBubble = true , undefined) , !!pe.event_0 && (pe.event_0.preventDefault() , undefined));
    panel = dynamicCast(w, Q$ContentPanel);
    if (panel.topComponent != null) {
      focusWidget(panel.topComponent, true);
      return;
    }
  }
  if (instanceOf(w, Q$LayoutContainer)) {
    !!pe && (!!pe.event_0 && (pe.event_0.cancelBubble = true , undefined) , !!pe.event_0 && (pe.event_0.preventDefault() , undefined));
    c = dynamicCast(w, Q$Container);
    c.items.size_0 > 0 && focusWidget(forward_0?0 < c.items.size_0?dynamicCast($get_6(c.items, 0), Q$Component):null:$getItem(c, c.items.size_0 - 1), true);
  }
   else if (instanceOf(w, Q$ComplexPanel)) {
    !!pe && (!!pe.event_0 && (pe.event_0.cancelBubble = true , undefined) , !!pe.event_0 && (pe.event_0.preventDefault() , undefined));
    panel = dynamicCast(w, Q$ComplexPanel);
    panel.children_0.size_0 > 0 && focusWidget($get_7(panel.children_0, 0), true);
  }
}

defineSeed(43, 1, makeCastMap([Q$FocusHandler]));
_.onEnter_0 = function onEnter_1(component, pe){
}
;
_.onEscape = function onEscape(component, pe){
  $onEscape(component);
}
;
_.onLeft = function onLeft(component, pe){
}
;
_.onRight = function onRight(component, pe){
}
;
_.onTab = function onTab(component, pe){
}
;
function $onStepOutApp(this$static){
  var body;
  $clinit_FocusManager();
  !instance_0 && (instance_0 = new FocusManager_0);
  if (!this$static.stepout) {
    this$static.stepout = $doc.createElement('div');
    $setTitle_1(this$static.stepout, ($clinit_GXT() , 'Click tab to leave the application, or shift-tab to return to application'));
    this$static.stepout.style['outline'] = 'none';
    ($clinit_El() , fly_0(this$static.stepout, '_global')).dom_0['tabIndex'] = 0;
    body = getBody();
    $appendChild_0(body, this$static.stepout);
  }
  $setFocus(($clinit_El() , fly_0(this$static.stepout, '_global')), true);
}

function DefaultHandler_0(){
}

defineSeed(42, 43, makeCastMap([Q$FocusHandler]), DefaultHandler_0);
_.canHandleKeyPress = function canHandleKeyPress(component, pe){
  return true;
}
;
_.onEnter_0 = function onEnter_2(component, pe){
  var t;
  $clinit_FocusManager();
  !instance_0 && (instance_0 = new FocusManager_0);
  t = new DefaultHandler$1_0(component, pe);
  $schedule(t, 200);
}
;
_.onEscape = function onEscape_0(component, pe){
  var tip;
  $clinit_FocusManager();
  !instance_0 && (instance_0 = new FocusManager_0);
  tip = (!component.toolTip && !!component.toolTipConfig_0 && (component.toolTip = new ToolTip_0(component, component.toolTipConfig_0)) , component.toolTip);
  if (!!tip && $isVisible_0(tip)) {
    return;
  }
  if ((!component.focusManagerSupport && (component.focusManagerSupport = new FocusManagerSupport_0) , component.focusManagerSupport).ignore) {
    (!component.focusManagerSupport && (component.focusManagerSupport = new FocusManagerSupport_0) , component.focusManagerSupport).ignore = false;
    return;
  }
  $stepOut(component);
}
;
_.onTab = function onTab_0(component, pe){
  var c, p, w;
  $clinit_FocusManager();
  !instance_0 && (instance_0 = new FocusManager_0);
  if ((!component.focusManagerSupport && (component.focusManagerSupport = new FocusManagerSupport_0) , component.focusManagerSupport).ignore) {
    return;
  }
  if (!!pe.event_0 && !!pe.event_0.shiftKey) {
    if (focusPreviousWidget(component)) {
      !!pe.event_0 && (pe.event_0.cancelBubble = true , undefined);
      !!pe.event_0 && (pe.event_0.preventDefault() , undefined);
    }
     else {
      w = component.parent_0;
      while (w) {
        if (instanceOf(w, Q$RootPanel)) {
          return;
        }
         else if (instanceOf(w, Q$Component)) {
          c = dynamicCast(w, Q$Component);
          if ((!c.focusManagerSupport && (c.focusManagerSupport = new FocusManagerSupport_0) , c.focusManagerSupport).ignore) {
            w = w.parent_0;
          }
           else {
            w = null;
            !!pe.event_0 && (pe.event_0.cancelBubble = true , undefined);
            !!pe.event_0 && (pe.event_0.preventDefault() , undefined);
          }
        }
      }
    }
  }
   else {
    if (focusNextWidget(component)) {
      !!pe.event_0 && (pe.event_0.cancelBubble = true , undefined);
      !!pe.event_0 && (pe.event_0.preventDefault() , undefined);
    }
     else {
      if (instanceOf(component.parent_0, Q$RootPanel)) {
        !!pe.event_0 && (pe.event_0.cancelBubble = true , undefined);
        !!pe.event_0 && (pe.event_0.preventDefault() , undefined);
        $onStepOutApp(this);
      }
       else {
        p = component.parent_0;
        if (instanceOf(p, Q$Container)) {
          c = dynamicCast(p, Q$Container);
          if (c.items.size_0 == 1) {
            if (instanceOf(c.parent_0, Q$RootPanel)) {
              !!pe.event_0 && (pe.event_0.cancelBubble = true , undefined);
              !!pe.event_0 && (pe.event_0.preventDefault() , undefined);
              $onStepOutApp(this);
              return;
            }
          }
        }
        !!pe.event_0 && (pe.event_0.cancelBubble = true , undefined);
        !!pe.event_0 && (pe.event_0.preventDefault() , undefined);
      }
    }
  }
}
;
_.stepout = null;
function $clinit_Timer(){
  $clinit_Timer = nullMethod;
  timers = new ArrayList_0;
  addCloseHandler(new Timer$1_0);
}

function $cancel(this$static){
  this$static.isRepeating?clearInterval_0(this$static.timerId):clearTimeout_0(this$static.timerId);
  $remove_15(timers, this$static);
}

function $schedule(this$static, delayMillis){
  if (delayMillis < 0) {
    throw new IllegalArgumentException_0('must be non-negative');
  }
  this$static.isRepeating?clearInterval_0(this$static.timerId):clearTimeout_0(this$static.timerId);
  $remove_15(timers, this$static);
  this$static.isRepeating = false;
  this$static.timerId = createTimeout(this$static, delayMillis);
  $add_17(timers, this$static);
}

function $scheduleRepeating(this$static){
  this$static.isRepeating?clearInterval_0(this$static.timerId):clearTimeout_0(this$static.timerId);
  $remove_15(timers, this$static);
  this$static.isRepeating = true;
  this$static.timerId = createInterval(this$static, 45000);
  $add_17(timers, this$static);
}

function clearInterval_0(id){
  $wnd.clearInterval(id);
}

function clearTimeout_0(id){
  $wnd.clearTimeout(id);
}

function createInterval(timer, period){
  return $wnd.setInterval($entry(function(){
    timer.fire();
  }
  ), period);
}

function createTimeout(timer, delay){
  return $wnd.setTimeout($entry(function(){
    timer.fire();
  }
  ), delay);
}

defineSeed(45, 1, makeCastMap([Q$Timer]));
_.fire = function fire(){
  this.isRepeating || $remove_15(timers, this);
  this.run();
}
;
_.isRepeating = false;
_.timerId = 0;
var timers;
function DefaultHandler$1_0(val$component, val$pe){
  $clinit_Timer();
  this.val$component = val$component;
  this.val$pe = val$pe;
}

defineSeed(44, 45, makeCastMap([Q$Timer]), DefaultHandler$1_0);
_.run = function run(){
  stepInto(this.val$component, this.val$pe, true);
}
;
_.val$component = null;
_.val$pe = null;
function DualListFieldHandler_0(){
}

defineSeed(46, 43, makeCastMap([Q$FocusHandler]), DualListFieldHandler_0);
_.canHandleKeyPress = function canHandleKeyPress_0(component, pe){
  return false;
}
;
_.onTab = function onTab_1(component, pe){
}
;
function FieldHandler_0(){
}

defineSeed(47, 43, makeCastMap([Q$FocusHandler]), FieldHandler_0);
_.canHandleKeyPress = function canHandleKeyPress_1(component, pe){
  return instanceOf(component, Q$Field);
}
;
_.onEscape = function onEscape_1(component, pe){
  $onEscape(component);
}
;
_.onTab = function onTab_2(component, pe){
  $clinit_FocusManager();
  !instance_0 && (instance_0 = new FocusManager_0);
  if (!(!!pe.event_0 && !!pe.event_0.shiftKey) && forwardIfOverride(component)) {
    !!pe.event_0 && (pe.event_0.cancelBubble = true , undefined);
    !!pe.event_0 && (pe.event_0.preventDefault() , undefined);
    return;
  }
   else if (!!pe.event_0 && !!pe.event_0.shiftKey && previousIfOverride(component)) {
    !!pe.event_0 && (pe.event_0.cancelBubble = true , undefined);
    !!pe.event_0 && (pe.event_0.preventDefault() , undefined);
    return;
  }
}
;
function FieldSetHandler_0(){
}

defineSeed(48, 43, makeCastMap([Q$FocusHandler]), FieldSetHandler_0);
_.canHandleKeyPress = function canHandleKeyPress_2(component, pe){
  return false;
}
;
_.onTab = function onTab_3(component, pe){
  var fs, w;
  fs = throwClassCastExceptionUnlessNull(component.parent_0);
  if (!!pe.event_0 && !!pe.event_0.shiftKey) {
    w = findPreviousWidget(fs);
    isContainer(w) && w.getElement().className.indexOf('x-panel-collapsed') == -1?stepInto(w, pe, false):focusWidget(w, true);
  }
   else {
    if (!null.nullMethod()) {
      focusNextWidget(fs);
      return;
    }
    stepInto(fs, pe, true);
  }
}
;
function $addListener(this$static, eventType, listener){
  var key, list;
  if (!listener)
    return;
  !this$static.listeners && (this$static.listeners = new FastMap_0);
  key = eventType.id_0;
  list = dynamicCast($get(this$static.listeners, key), Q$List);
  if (!list) {
    list = new ArrayList_0;
    list.add_0(listener);
    $put(this$static.listeners, key, list);
  }
   else {
    list.contains_0(listener) || list.add_0(listener);
  }
}

function $fireEvent(this$static, eventType, be){
  var copy, l_0, l$iterator, list;
  if (this$static.listeners) {
    be.type_0 = eventType;
    list = dynamicCast($get(this$static.listeners, eventType.id_0), Q$List);
    if (list) {
      copy = new ArrayList_2(list);
      for (l$iterator = new AbstractList$IteratorImpl_0(copy); l$iterator.i < l$iterator.this$0_0.size_1();) {
        l_0 = dynamicCast($next_3(l$iterator), Q$Listener);
        l_0.handleEvent(be);
      }
    }
    return !be.cancelled;
  }
  return true;
}

function $hasListeners(this$static, eventType){
  var list;
  if (this$static.listeners) {
    list = dynamicCast($get(this$static.listeners, eventType.id_0), Q$List);
    if (!!list && !list.isEmpty()) {
      return true;
    }
  }
  return false;
}

function $removeListener(this$static, eventType, listener){
  var key, list;
  if (!this$static.listeners) {
    return;
  }
  key = eventType.id_0;
  list = dynamicCast($get(this$static.listeners, key), Q$List);
  if (list) {
    list.remove_2(listener);
    list.isEmpty() && $remove_0(this$static.listeners, key);
  }
}

function BaseObservable_0(){
}

defineSeed(50, 1, makeCastMap([Q$Observable]), BaseObservable_0);
_.listeners = null;
function $frame(this$static, newComponent){
  var e;
  $clinit_GXT();
  if (!focusManagerEnabled) {
    return;
  }
  this$static.initialized || $init(this$static);
  if (this$static.curComponent != newComponent) {
    if (newComponent.rendered) {
      this$static.curComponent = newComponent;
      this$static.curElement = this$static.curComponent.getElement();
      e = ($clinit_El() , fly_1(this$static.curElement, '_global'));
      $makePositionable($getParent(e));
      $appendChild_0($getParent(e).dom_0, this$static.focusFrameContainer.dom_0);
      this$static.focusFrameContainer.setVisible(true);
      $sync(this$static, this$static.curComponent);
    }
  }
}

function $hide(this$static, c){
  this$static.initialized && c == this$static.curComponent && this$static.focusFrameContainer.setVisible(false);
}

function $init(this$static){
  var i, side;
  if (!this$static.initialized) {
    this$static.focusFrameContainer = new El_0($doc.createElement('div'));
    this$static.focusFrameContainer.dom_0.className = 'x-aria-focusframe';
    $makePositionable(this$static.focusFrameContainer);
    this$static.focusFrameContainer.setVisible(false);
    for (i = 0; i < 4; ++i) {
      side = new El_0($doc.createElement('div'));
      side.dom_0.className = 'x-aria-focusframe-side';
      $appendChild_0(this$static.focusFrameContainer.dom_0, side.dom_0);
      $setStyleAttribute_0(($clinit_El() , computedStyle_0), side.dom_0, 'position', 'absolute');
      $add_17(this$static.sides, side);
    }
    this$static.initialized = true;
  }
}

function $show(this$static, c){
  if (this$static.initialized && c == this$static.curComponent) {
    this$static.focusFrameContainer.setVisible(true);
    $sync(this$static, c);
  }
}

--></script>
<script><!--
function $sync(this$static, c){
  var el, height, side, side$iterator, width;
  if (this$static.initialized && this$static.curComponent == c && c.rendered) {
    el = this$static.curComponent.el;
    width = el.dom_0.offsetWidth || 0;
    height = el.dom_0.offsetHeight || 0;
    $alignTo($setSize(dynamicCast($get_6(this$static.sides, 0), Q$El), width, 2), el.dom_0, 'tl', null);
    $alignTo($setSize(dynamicCast($get_6(this$static.sides, 1), Q$El), width, 2), el.dom_0, 'bl', initValues(_3I_classLit, makeCastMap([Q$Serializable]), -1, [0, -2]));
    $alignTo($setSize(dynamicCast($get_6(this$static.sides, 2), Q$El), 2, height), el.dom_0, 'tr', initValues(_3I_classLit, makeCastMap([Q$Serializable]), -1, [-2, 0]));
    $alignTo($setSize(dynamicCast($get_6(this$static.sides, 3), Q$El), 2, height), el.dom_0, 'tl', null);
    for (side$iterator = new AbstractList$IteratorImpl_0(this$static.sides); side$iterator.i < side$iterator.this$0_0.size_1();) {
      side = dynamicCast($next_3(side$iterator), Q$El);
      side.setZIndex(parseInt_0(dynamicCast($getStyleAttribute_0(this$static.curComponent.el, new Arrays$ArrayList_0(initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['zIndex']))).map['zIndex'], Q$String), 0) + 1);
    }
  }
}

function $unframe(this$static){
  if (this$static.initialized) {
    this$static.focusFrameContainer.setVisible(false);
    this$static.curComponent = null;
    this$static.curElement = null;
  }
}

function FocusFrame_0(){
  this.sides = new ArrayList_0;
}

defineSeed(49, 50, makeCastMap([Q$Observable]), FocusFrame_0);
_.curComponent = null;
_.curElement = null;
_.focusFrameContainer = null;
_.initialized = false;
var instance = null;
function $clinit_FocusManager(){
  $clinit_FocusManager = nullMethod;
  TabNext = new EventType_0;
  TabPrevious = new EventType_0;
}

function $findNavigationHandler(this$static, comp){
  var h_0, i, len;
  for (i = 0 , len = this$static.navigationHandlers.size_0; i < len; ++i) {
    h_0 = dynamicCast($get_6(this$static.navigationHandlers, i), Q$NavigationHandler);
    if ($canHandleTabKey(comp)) {
      return h_0;
    }
  }
  return null;
}

function $isWindow(c){
  var w;
  w = c;
  while (w) {
    w = w.parent_0;
  }
  return null;
}

function $onToggle(this$static, c, pe){
  var windows, windows_0;
  !!pe.event_0 && (pe.event_0.cancelBubble = true , undefined);
  !!pe.event_0 && (pe.event_0.preventDefault() , undefined);
  if (c) {
    $isWindow(c);
    windows_0 = this$static.mgr.windows;
    windows_0.size_0 > 0 && (!!pe.event_0 && !!pe.event_0.shiftKey?(throwClassCastExceptionUnlessNull($get_6(windows_0, windows_0.size_0 - 1)) , null.nullMethod() , false):(checkIndex(0, windows_0.size_0) , throwClassCastExceptionUnlessNull(windows_0.array[0]) , null.nullMethod() , false));
  }
   else {
    windows = this$static.mgr.windows;
    windows.size_0 > 0 && (checkIndex(0, windows.size_0) , throwClassCastExceptionUnlessNull(windows.array[0]) , null.nullMethod() , false);
  }
}

function $register(this$static, handler){
  $indexOf_1(this$static.handlers, handler, 0) != -1 || $add_17(this$static.handlers, handler);
}

function $register_0(this$static, handler){
  $add_17(this$static.navigationHandlers, handler);
}

function FocusManager_0(){
  $clinit_FocusManager();
  this.handlers = new ArrayList_0;
  this.navigationHandlers = new ArrayList_0;
  this.mgr = (!instance_4 && (instance_4 = new WindowManager_0) , instance_4);
  this.preview = new FocusManager$1_0(this);
  this.preview.autoHide = false;
  $register(this, new FieldSetHandler_0);
  $register(this, new HtmlEditorHandler_0);
  $register(this, new ToolButtonHandler_0);
  $register(this, new ToolBarHandler_0);
  $register(this, new MenuHandler_0);
  $register(this, new TabPanelHandler_0);
  $register(this, new InputSliderHandler_0);
  $register(this, new DualListFieldHandler_0);
  $register(this, new FieldHandler_0);
  $register(this, new HeaderHandler_0);
  $register(this, new DefaultHandler_0);
  $register_0(this, new ContentPanelNavigationHandler_0);
}

defineSeed(51, 1, {}, FocusManager_0);
_.focusComponent = null;
_.preview = null;
var TabNext, TabPrevious, instance_0 = null;
function $add(this$static){
  if (!this$static.handler) {
    this$static.handler = addNativePreviewHandler(this$static);
    $fireEvent(this$static, ($clinit_Events() , Add), new BaseEvent_0);
  }
}

function $onAutoHidePreview(this$static, ce){
  var ignore;
  switch (ce.type_0.eventCode) {
    case 4:
    case 8:
    case 1:
    case 2:
      {
        ignore = $is(this$static.ignoreList, !ce.event_0?null:ce.event_0.target);
        if (!ignore && this$static.onAutoHide(ce)) {
          return true;
        }
      }

  }
  return false;
}

function $onPreview(this$static, pe){
  if (pe.type_0.eventCode == this$static.keyEvent.eventCode) {
    this$static.onPreviewKeyPress(pe);
    return true;
  }
  pe.type_0.eventCode == 1 && this$static.onClick(pe);
  return true;
}

function $remove(this$static){
  if (this$static.handler) {
    $removeHandler(this$static.handler.real);
    this$static.handler = null;
    $fireEvent(this$static, ($clinit_Events() , Remove), new BaseEvent_0);
  }
}

function BaseEventPreview_0(){
  this.ignoreList = new CompositeElement_0;
  this.keyEvent = ($clinit_KeyNav() , $clinit_KeyNav() , keyEvent);
}

defineSeed(53, 50, makeCastMap([Q$Observable, Q$EventHandler, Q$Event$NativePreviewHandler]));
_.onAutoHide = function onAutoHide(ce){
  return true;
}
;
_.onClick = function onClick(pe){
}
;
_.onPreview = function onPreview(pe){
  return $onPreview(this, pe);
}
;
_.onPreviewKeyPress = function onPreviewKeyPress(pe){
  $fireEvent(this, ($clinit_Events() , KeyPress), pe);
}
;
_.onPreviewNativeEvent = function onPreviewNativeEvent(event_0){
  var e, pe;
  e = event_0.nativeEvent;
  pe = new PreviewEvent_0;
  $setType(pe, new EventType_1($eventGetTypeInt(e.type)));
  pe.event_0 = e;
  $getClientX(pe);
  $getClientY(pe);
  if (this.autoHide && $onAutoHidePreview(this, pe)) {
    this.autoHideAllowEvent && (event_0.isCanceled = true);
    $remove(this);
  }
  this.onPreview(pe) || (event_0.isCanceled = true);
}
;
_.autoHide = true;
_.autoHideAllowEvent = false;
_.handler = null;
_.keyEvent = null;
function FocusManager$1_0(this$0){
  this.this$0 = this$0;
  BaseEventPreview_0.call(this);
}

defineSeed(52, 53, makeCastMap([Q$Observable, Q$EventHandler, Q$Event$NativePreviewHandler]), FocusManager$1_0);
_.onClick = function onClick_0(pe){
  var c;
  c = $find(($clinit_ComponentManager() , $clinit_ComponentManager() , instance_3), !pe.event_0?null:pe.event_0.target);
  !!c && $isWindow(c) == null && !this.this$0.focusComponent && (this.this$0.focusComponent = c);
}
;
_.onPreviewKeyPress = function onPreviewKeyPress_0(pe){
  var c, handler, i, key;
  $fireEvent(this, ($clinit_Events() , KeyPress), pe);
  key = !pe.event_0?-1:pe.event_0.keyCode || 0;
  c = $find(($clinit_ComponentManager() , $clinit_ComponentManager() , instance_3), !pe.event_0?null:pe.event_0.target);
  key == 117 && $onToggle(this.this$0, c, pe);
  if (c) {
    $isWindow(c);
    this.this$0.focusComponent = c;
    for (i = 0; i < this.this$0.handlers.size_0; ++i) {
      handler = dynamicCast($get_6(this.this$0.handlers, i), Q$FocusHandler);
      if (handler.canHandleKeyPress(c, pe)) {
        switch (key) {
          case 9:
            !!pe.event_0 && (!!pe.event_0.ctrlKey || !!pe.event_0.metaKey) || handler.onTab(c, pe);
            break;
          case 37:
            handler.onLeft(c, pe);
            break;
          case 39:
            handler.onRight(c, pe);
            break;
          case 27:
            handler.onEscape(c, pe);
            break;
          case 13:
            handler.onEnter_0(c, pe);
        }
        return;
      }
    }
  }
}
;
_.this$0 = null;
function HeaderHandler_0(){
}

defineSeed(54, 43, makeCastMap([Q$FocusHandler]), HeaderHandler_0);
_.canHandleKeyPress = function canHandleKeyPress_3(component, pe){
  return instanceOf(component, Q$Header);
}
;
_.onTab = function onTab_4(component, pe){
  var head, index;
  $clinit_FocusManager();
  !instance_0 && (instance_0 = new FocusManager_0);
  !!pe.event_0 && (pe.event_0.cancelBubble = true , undefined);
  !!pe.event_0 && (pe.event_0.preventDefault() , undefined);
  head = dynamicCast(component.parent_0.parent_0, Q$Header);
  index = $indexOf_1(head.tools, component, 0);
  if (index == head.tools.size_0 - 1) {
    stepInto(head.parent_0, pe, true);
    return;
  }
}
;
function HtmlEditorHandler_0(){
}

defineSeed(55, 43, makeCastMap([Q$FocusHandler]), HtmlEditorHandler_0);
_.canHandleKeyPress = function canHandleKeyPress_4(component, pe){
  if (instanceOf(component.parent_0, Q$ToolBar) && false) {
    return true;
  }
  return false;
}
;
_.onTab = function onTab_5(component, pe){
  var c;
  !!pe.event_0 && (pe.event_0.cancelBubble = true , undefined);
  !!pe.event_0 && (pe.event_0.preventDefault() , undefined);
  c = dynamicCast(component.parent_0.parent_0, Q$Component);
  $setFocus($selectNode(c.el, 'iframe'), true);
}
;
function InputSliderHandler_0(){
}

defineSeed(56, 43, makeCastMap([Q$FocusHandler]), InputSliderHandler_0);
_.canHandleKeyPress = function canHandleKeyPress_5(component, pe){
  return $getData(component, 'gxt-input-slider') != null;
}
;
_.onEscape = function onEscape_2(component, pe){
  $onEscape(dynamicCast(component.parent_0, Q$Component));
}
;
_.onTab = function onTab_6(component, pe){
}
;
function MenuHandler_0(){
}

defineSeed(57, 43, makeCastMap([Q$FocusHandler]), MenuHandler_0);
_.canHandleKeyPress = function canHandleKeyPress_6(component, pe){
  return instanceOf(component, Q$Menu);
}
;
_.onTab = function onTab_7(component, pe){
  var btn, menu;
  $clinit_FocusManager();
  !instance_0 && (instance_0 = new FocusManager_0);
  menu = dynamicCast(component, Q$Menu);
  if (menu.showing) {
    btn = dynamicCast($getData(menu, 'parent'), Q$Button);
    if (btn) {
      !!pe.event_0 && (pe.event_0.preventDefault() , undefined);
      !!btn.menu && $hide_1(btn.menu, false);
      focusNextWidget(btn.parent_0);
    }
  }
}
;
function TabPanelHandler_0(){
}

defineSeed(58, 43, makeCastMap([Q$FocusHandler]), TabPanelHandler_0);
_.canHandleKeyPress = function canHandleKeyPress_7(component, pe){
  return false;
}
;
_.onEnter_0 = function onEnter_3(component, pe){
  $clinit_FocusManager();
  !instance_0 && (instance_0 = new FocusManager_0);
}
;
_.onEscape = function onEscape_3(component, pe){
  var p;
  $clinit_FocusManager();
  !instance_0 && (instance_0 = new FocusManager_0);
  p = component.parent_0;
  if (p) {
    !!pe.event_0 && (pe.event_0.cancelBubble = true , undefined);
    !!pe.event_0 && (pe.event_0.preventDefault() , undefined);
    $stepOut(component);
  }
}
;
_.onTab = function onTab_8(component, pe){
  $clinit_FocusManager();
  !instance_0 && (instance_0 = new FocusManager_0);
}
;
function ToolBarHandler_0(){
}

defineSeed(59, 43, makeCastMap([Q$FocusHandler]), ToolBarHandler_0);
_.canHandleKeyPress = function canHandleKeyPress_8(component, pe){
  if (instanceOf(component.parent_0, Q$ToolBar)) {
    return true;
  }
  return false;
}
;
_.onEscape = function onEscape_4(component, pe){
  $stepOut(component.parent_0);
}
;
_.onLeft = function onLeft_0(component, pe){
  var bar, c, i, layout, more;
  bar = dynamicCast(component.parent_0, Q$ToolBar);
  layout = dynamicCast(bar.layout_0, Q$ToolBarLayout);
  more = layout.more;
  if (component == more) {
    for (i = bar.items.size_0 - 1; i >= 0; --i) {
      c = i < bar.items.size_0?dynamicCast($get_6(bar.items, i), Q$Component):null;
      if (!isIgnore(c) && $getData(c, 'gxt-overflow') == null) {
        focusWidget(c, false);
        return;
      }
    }
  }
  focusPreviousWidget(component) || component.focus_0();
}
;
_.onRight = function onRight_0(component, pe){
  var bar, c, layout, more;
  c = dynamicCast(findNextWidget(component), Q$Component);
  if (!!c && $getData(c, 'gxt-overflow') != null) {
    !!pe.event_0 && (pe.event_0.cancelBubble = true , undefined);
    !!pe.event_0 && (pe.event_0.preventDefault() , undefined);
    bar = dynamicCast(component.parent_0, Q$ToolBar);
    layout = dynamicCast(bar.layout_0, Q$ToolBarLayout);
    more = layout.more;
    $focus(more);
    return;
  }
  focusNextWidget(component) || component.focus_0();
}
;
_.onTab = function onTab_9(component, pe){
  var parent_0;
  $clinit_FocusManager();
  !instance_0 && (instance_0 = new FocusManager_0);
  parent_0 = component.parent_0;
  !!pe.event_0 && !!pe.event_0.shiftKey?focusPreviousWidget(parent_0) && (!!pe.event_0 && (pe.event_0.cancelBubble = true , undefined) , !!pe.event_0 && (pe.event_0.preventDefault() , undefined)):focusNextWidget(parent_0) && (!!pe.event_0 && (pe.event_0.cancelBubble = true , undefined) , !!pe.event_0 && (pe.event_0.preventDefault() , undefined));
}
;
function ToolButtonHandler_0(){
}

defineSeed(60, 43, makeCastMap([Q$FocusHandler]), ToolButtonHandler_0);
_.canHandleKeyPress = function canHandleKeyPress_9(component, pe){
  return instanceOf(component, Q$ToolButton);
}
;
_.onTab = function onTab_10(component, pe){
  !!pe.event_0 && (pe.event_0.cancelBubble = true , undefined);
  !!pe.event_0 && (pe.event_0.preventDefault() , undefined);
  !!pe.event_0 && !!pe.event_0.shiftKey?focusPreviousWidget(component):focusNextWidget(component);
}
;
function $add_0(this$static, elem){
  $insert(this$static, elem, this$static.items.size_0);
}

function $insert(this$static, elem, index){
  $add_16(this$static.items, index, elem);
}

function $is(this$static, elem){
  var count, i, test;
  count = this$static.items.size_0;
  for (i = 0; i < count; ++i) {
    test = i >= 0 && i < this$static.items.size_0?dynamicCastJso($get_6(this$static.items, i)):null;
    if (test.contains(elem)) {
      return true;
    }
  }
  return false;
}

function CompositeElement_0(){
  this.items = new ArrayList_0;
}

defineSeed(61, 1, {}, CompositeElement_0);
_.items = null;
function $clinit_DomHelper(){
  $clinit_DomHelper = nullMethod;
  init();
  loadExt();
  loadDomHelper();
}

function insertHtml(where, el, html){
  $clinit_DomHelper();
  return $wnd.GXT.Ext.DomHelper.insertHtml(where, el, html);
}

function $clinit_DomQuery(){
  $clinit_DomQuery = nullMethod;
  init();
  loadExt();
  loadDomQuery();
}

function internalSelect(selector, root){
  $clinit_DomQuery();
  var result = $wnd.GXT.Ext.DomQuery.select(selector, root);
  return result;
}

function is_0(elem, selector){
  $clinit_DomQuery();
  return $wnd.GXT.Ext.DomQuery.is(elem, selector);
}

function $clinit_El(){
  $clinit_El = nullMethod;
  borderBoxMap = new FastMap_0;
  flyweights = new FastMap_0;
  computedStyle_0 = new ComputedStyleImpl_0;
  init();
}

function $addEventsSunk(this$static, event_0){
  var bits;
  bits = this$static.dom_0.__eventBits || 0;
  $sinkEvents_1(this$static.dom_0, bits | event_0);
  return this$static;
}

function $addStyleName(this$static, styleNames){
  var styleName, styleName$index, styleName$max;
  if (styleNames != null) {
    for (styleName$index = 0 , styleName$max = styleNames.length; styleName$index < styleName$max; ++styleName$index) {
      styleName = styleNames[styleName$index];
      if (styleName != null && !$hasStyleName(this$static, styleName)) {
        styleName = $trim(styleName);
        $setClassName(this$static.dom_0, this$static.dom_0.className + ' ' + styleName);
      }
    }
  }
  return this$static;
}

function $adjustForConstraints(this$static, p){
  return $getConstrainToXY(this$static, getBody(), p);
}

function $alignTo(this$static, align, pos, offsets){
  var p;
  offsets == null && (offsets = initValues(_3I_classLit, makeCastMap([Q$Serializable]), -1, [0, 0]));
  p = $getAlignToXY_0(this$static, align, pos, offsets);
  $setXY(this$static, p);
  return this$static;
}

function $appendChild(this$static, child){
  $appendChild_0(this$static.dom_0, child);
  return new El_0(child);
}

function $applyStyles(this$static, styles){
  var re = /\s?([a-z\-]*)\:\s?([^;]*);?/gi;
  var matches;
  while ((matches = re.exec(styles)) != null) {
    this$static.setStyleAttribute(matches[1], matches[2]);
  }
  return this$static;
}

function $center(this$static, container){
  !container && (container = getBody());
  return $alignTo(this$static, container, 'c-c', null);
}

function $child(this$static, selector){
  var child;
  child = ($clinit_DomQuery() , internalSelect(selector, this$static.dom_0)[0]);
  return !child?null:new El_0(child);
}

function $clearOpacity(this$static){
  var dom = this$static.dom_0;
  var style = dom.style;
  ($clinit_GXT() , isIE_0)?(dom.style.filter = (dom.style.filter || '').replace(/alpha\([^\)]*\)/gi, '')):(style.opacity = style['-moz-opacity'] = style['-khtml-opacity'] = '');
  return this$static;
}

function $clip(this$static){
  if (!this$static.isClipped) {
    this$static.isClipped = true;
    this$static.originalClipped = initDim(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, 3, 0);
    this$static.originalClipped[0] = dynamicCast($getStyleAttribute_0(this$static, new Arrays$ArrayList_0(initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['overflow']))).map['overflow'], Q$String);
    this$static.originalClipped[1] = dynamicCast($getStyleAttribute_0(this$static, new Arrays$ArrayList_0(initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['overflowX']))).map['overflowX'], Q$String);
    this$static.originalClipped[2] = dynamicCast($getStyleAttribute_0(this$static, new Arrays$ArrayList_0(initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['overflowY']))).map['overflowY'], Q$String);
    $setStyleAttribute_0(computedStyle_0, this$static.dom_0, 'overflow', 'hidden');
    $setStyleAttribute_0(computedStyle_0, this$static.dom_0, 'overflowX', 'hidden');
    $setStyleAttribute_0(computedStyle_0, this$static.dom_0, 'overflowY', 'hidden');
  }
  return this$static;
}

function $disableTextSelection(this$static, disable){
  disable?$addStyleName(this$static, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['x-unselectable'])):$removeStyleName(this$static, 'x-unselectable');
  $setAttribute(this$static.dom_0, 'unselectable', disable?'on':'');
  disableTextSelectInternal(this$static.dom_0, disable);
  return this$static;
}

function $findParent(this$static, selector, maxDepth){
  var elem;
  elem = $findParentElement(this$static, selector, maxDepth);
  if (!elem) {
    return null;
  }
  return new El_0(elem);
}

function $findParentElement(this$static, selector, maxDepth){
  var b, depth, p;
  p = this$static.dom_0;
  b = getBody();
  depth = 0;
  while (!!p && p.nodeType == 1 && (maxDepth == -1 || depth < maxDepth) && p != b) {
    if (is_0(p, selector)) {
      return p;
    }
    ++depth;
    p = $getParentElement(p);
  }
  return null;
}

function $firstChild(this$static){
  var firstChild;
  firstChild = $getFirstChildElement(this$static.dom_0);
  return !firstChild?null:new El_0(firstChild);
}

function $getAlignToXY(this$static, elem, p, ox, oy){
  var a1, a2, c, dh, dw, el, h_0, p1, p1x, p1y, p2, p2x, p2y, r, scrollX, scrollY, swapX, swapY, w, x, y;
  el = new El_0(elem);
  p == null?(p = 'tl-bl'):$equals_2(p, '?')?(p = 'tl-bl?'):p.indexOf('-') == -1 && (p = 'tl-' + p);
  p = p.toLowerCase();
  p1 = $substring_0(p, 0, p.indexOf('-'));
  p2 = $substring_0(p, p.indexOf('-') + 1, (c = p.indexOf('?') != -1)?p.indexOf('?'):p.length);
  a1 = $getAnchorXY(this$static, p1, true);
  a2 = $getAnchorXY(el, p2, false);
  x = a2.x - a1.x + ox;
  y = a2.y - a1.y + oy;
  if (c) {
    w = this$static.dom_0.offsetWidth || 0;
    h_0 = this$static.dom_0.offsetHeight || 0;
    r = $getRegion(el);
    dw = ($clinit_XDOM() , getViewportWidth()) - 10;
    dh = getViewportHeight() - 10;
    p1y = p1.charCodeAt(0);
    p1x = $charAt(p1, p1.length - 1);
    p2y = p2.charCodeAt(0);
    p2x = $charAt(p2, p2.length - 1);
    swapY = p1y == 116 && p2y == 98 || p1y == 98 && p2y == 116;
    swapX = p1x == 114 && p2x == 108 || p1x == 108 && p2x == 114;
    scrollX = getBodyScrollLeft() + 5;
    scrollY = getBodyScrollTop() + 5;
    x + w > dw + scrollX && (x = swapX?r.left_0 - w:dw + scrollX - w);
    x < scrollX && (x = swapX?r.right:scrollX);
    y + h_0 > dh + scrollY && (y = swapY?r.top_0 - h_0:dh + scrollY - h_0);
    y < scrollY && (y = swapY?r.bottom:scrollY);
  }
  return new Point_0(x, y);
}

function $getAlignToXY_0(this$static, align, pos, offsets){
  offsets == null && (offsets = initValues(_3I_classLit, makeCastMap([Q$Serializable]), -1, [0, 0]));
  return $getAlignToXY(this$static, align, pos, offsets[0], offsets[1]);
}

function $getAnchorXY(this$static, anchor, local){
  var h_0, o, sc, vp, w, x, y;
  if (anchor == null) {
    return null;
  }
  vp = false;
  if (this$static.dom_0 == getBody() || this$static.dom_0 == getDocument()) {
    vp = true;
    w = ($clinit_XDOM() , getViewportWidth());
    h_0 = getViewportHeight();
  }
   else {
    w = this$static.dom_0.offsetWidth || 0;
    h_0 = this$static.dom_0.offsetHeight || 0;
  }
  x = 0;
  y = 0;
  if (anchor.length == 1) {
    if ($equalsIgnoreCase('c', anchor)) {
      x = toInt(fromDouble(Math.round(w * 0.5)));
      y = toInt(fromDouble(Math.round(h_0 * 0.5)));
    }
     else if ($equalsIgnoreCase('t', anchor)) {
      x = toInt(fromDouble(Math.round(w * 0.5)));
      y = 0;
    }
     else if ($equalsIgnoreCase('l', anchor)) {
      x = 0;
      y = toInt(fromDouble(Math.round(h_0 * 0.5)));
    }
     else if ($equalsIgnoreCase('r', anchor)) {
      x = w;
      y = toInt(fromDouble(Math.round(h_0 * 0.5)));
    }
     else if ($equalsIgnoreCase('b', anchor)) {
      x = toInt(fromDouble(Math.round(w * 0.5)));
      y = h_0;
    }
  }
   else {
    if ($equalsIgnoreCase('tl', anchor)) {
      x = 0;
      y = 0;
    }
     else if ($equalsIgnoreCase('bl', anchor)) {
      x = 0;
      y = h_0;
    }
     else if ($equalsIgnoreCase('br', anchor)) {
      x = w;
      y = h_0;
    }
     else if ($equalsIgnoreCase('tr', anchor)) {
      x = w;
      y = 0;
    }
  }
  if (local) {
    return new Point_0(x, y);
  }
  if (vp) {
    sc = this$static.dom_0 == getBody() || this$static.dom_0 == getDocument()?new Scroll_1(getBodyScrollLeft(), getBodyScrollTop()):new Scroll_1($getPropertyInt(this$static.dom_0, 'scrollLeft'), $getPropertyInt(this$static.dom_0, 'scrollTop'));
    return new Point_0(x + sc.scrollLeft_0, y + sc.scrollTop_0);
  }
  o = new Point_0($getAbsoluteLeft(this$static.dom_0), $getAbsoluteTop(this$static.dom_0));
  return new Point_0(x + o.x, y + o.y);
}

function $getBounds(this$static){
  var p, rect, s;
  s = $getSize(this$static, false);
  rect = new Rectangle_0;
  rect.width_0 = s.width_0;
  rect.height_0 = s.height_0;
  p = new Point_0($getAbsoluteLeft(this$static.dom_0), $getAbsoluteTop(this$static.dom_0));
  rect.x = p.x;
  rect.y = p.y;
  return rect;
}

function $getChild(this$static, index){
  var child;
  child = $getChild_0(this$static.dom_0, index);
  return !child?null:new El_0(child);
}

function $getConstrainToXY(this$static, elem, proposedXY){
  var h_0, vh, vw, w, x, y;
  if (elem == getBody()) {
    vw = ($clinit_XDOM() , new Size_0(getViewportWidth(), getViewportHeight())).width_0;
    vh = (new Size_0(getViewportWidth(), getViewportHeight())).height_0;
    !($clinit_GXT() , isIE_0) && !$isStyleAttribute(fly_0($getParentElement(elem), '_internal'), 'overflowY', 'hidden') && $isScrollableY(fly_0($getParentElement(elem), '_internal')) && (vw -= (scrollBarWidth == -1 && (scrollBarWidth = getScrollBarWidthInternal()) , scrollBarWidth));
    !isIE_0 && !$isStyleAttribute(fly_0($getParentElement(elem), '_internal'), 'overflowX', 'hidden') && $isScrollableX(fly_0($getParentElement(elem), '_internal')) && (vh -= (scrollBarWidth == -1 && (scrollBarWidth = getScrollBarWidthInternal()) , scrollBarWidth));
  }
   else {
    vw = fly_1(elem, '_internal').dom_0.offsetWidth || 0;
    vh = fly_1(elem, '_internal').dom_0.offsetHeight || 0;
  }
  x = proposedXY.x;
  y = proposedXY.y;
  w = this$static.dom_0.offsetWidth || 0;
  h_0 = this$static.dom_0.offsetHeight || 0;
  x + w > vw && (x = vw - w);
  y + h_0 > vh && (y = vh - h_0);
  x < 0 && (x = 0);
  y < 0 && (y = 0);
  return new Point_0(x, y);
}

function $getFrameSize(this$static){
  var height, list, map, s, s$iterator, width;
  width = 0;
  height = 0;
  list = new ArrayList_0;
  setCheck(list.array, list.size_0++, 'paddingLeft');
  setCheck(list.array, list.size_0++, 'borderLeftWidth');
  setCheck(list.array, list.size_0++, 'paddingRight');
  setCheck(list.array, list.size_0++, 'borderRightWidth');
  setCheck(list.array, list.size_0++, 'paddingTop');
  setCheck(list.array, list.size_0++, 'borderTopWidth');
  setCheck(list.array, list.size_0++, 'paddingBottom');
  setCheck(list.array, list.size_0++, 'borderBottomWidth');
  map = $getStyleAttribute_1(computedStyle_0, this$static.dom_0, list);
  for (s$iterator = $keySet_0((new FastMap$2_0(map)).this$0.map).iterator_0(); s$iterator.i < s$iterator.this$0_0.size_1();) {
    s = dynamicCast($next_3(s$iterator), Q$String);
    (leftRightTest == null && (leftRightTest = new RegExp('Left|Right')) , leftRightTest.test(s))?(width += parseFloat_0(dynamicCast(map.map['' + s], Q$String), 0)):(height += parseFloat_0(dynamicCast(map.map['' + s], Q$String), 0));
  }
  return new Size_0(toInt(fromDouble(Math.round(width))), toInt(fromDouble(Math.round(height))));
}

function $getFrameWidth(this$static, sides){
  var frameWidth, list, map, s, s$iterator;
  frameWidth = 0;
  list = new ArrayList_0;
  if (sides.indexOf('l') != -1) {
    setCheck(list.array, list.size_0++, 'paddingLeft');
    setCheck(list.array, list.size_0++, 'borderLeftWidth');
  }
  if (sides.indexOf('r') != -1) {
    setCheck(list.array, list.size_0++, 'paddingRight');
    setCheck(list.array, list.size_0++, 'borderRightWidth');
  }
  if (sides.indexOf('t') != -1) {
    setCheck(list.array, list.size_0++, 'paddingTop');
    setCheck(list.array, list.size_0++, 'borderTopWidth');
  }
  if (sides.indexOf('b') != -1) {
    setCheck(list.array, list.size_0++, 'paddingBottom');
    setCheck(list.array, list.size_0++, 'borderBottomWidth');
  }
  map = $getStyleAttribute_1(computedStyle_0, this$static.dom_0, list);
  for (s$iterator = $keySet_0((new FastMap$2_0(map)).this$0.map).iterator_0(); s$iterator.i < s$iterator.this$0_0.size_1();) {
    s = dynamicCast($next_3(s$iterator), Q$String);
    frameWidth += parseFloat_0(dynamicCast(map.map['' + s], Q$String), 0);
  }
  return toInt(fromDouble(Math.round(frameWidth)));
}

function $getId(this$static){
  var id;
  id = $getPropertyString(this$static.dom_0, 'id');
  if (id == null || id != null && id.length == 0) {
    id = ($clinit_XDOM() , 'x-auto-' + autoId++);
    $setId(this$static, id);
  }
  return id;
}

function $getIntStyleAttribute(this$static, attr){
  var v;
  v = getStyleAttribute_0(this$static.dom_0, attr);
  if (v == null || $equals_2(v, '')) {
    return 0;
  }
  return parseInt_0(v, 0);
}

function $getPadding(this$static){
  var list, map, padding, s, s$iterator;
  padding = 0;
  list = new ArrayList_0;
  setCheck(list.array, list.size_0++, 'paddingLeft');
  setCheck(list.array, list.size_0++, 'paddingRight');
  map = $getStyleAttribute_1(computedStyle_0, this$static.dom_0, list);
  for (s$iterator = $keySet_0((new FastMap$2_0(map)).this$0.map).iterator_0(); s$iterator.i < s$iterator.this$0_0.size_1();) {
    s = dynamicCast($next_3(s$iterator), Q$String);
    padding += parseFloat_0(dynamicCast(map.map['' + s], Q$String), 0);
  }
  return toInt(fromDouble(Math.round(padding)));
}

function $getParent(this$static){
  var e;
  e = $getParentElement(this$static.dom_0);
  return !e?null:new El_0(e);
}

function $getRegion(this$static){
  var bounds, r;
  bounds = $getBounds(this$static);
  r = new Region_0;
  r.left_0 = bounds.x;
  r.top_0 = bounds.y;
  r.right = r.left_0 + bounds.width_0;
  r.bottom = r.top_0 + bounds.height_0;
  return r;
}

function $getSize(this$static, content_0){
  var frameWidth, h_0, w;
  w = this$static.dom_0.offsetWidth || 0;
  h_0 = this$static.dom_0.offsetHeight || 0;
  if (content_0) {
    frameWidth = $getFrameSize(this$static);
    w -= frameWidth.width_0;
    h_0 -= frameWidth.height_0;
  }
  return new Size_0(0 > w?0:w, 0 > h_0?0:h_0);
}

function $getStyleAttribute(this$static, attr){
  return dynamicCast($get($getStyleAttribute_0(this$static, new Arrays$ArrayList_0(initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, [attr]))), attr), Q$String);
}

function $getStyleAttribute_0(this$static, attr){
  return $getStyleAttribute_1(computedStyle_0, this$static.dom_0, attr);
}

--></script>
<script><!--
function $getStyleSize(this$static, contentOnly){
  var h_0, hei, isBorderBox, l_0, map, offsetHeight, offsetWidth, s, w, wid, h_1;
  h_0 = parseInt_0(this$static.dom_0.style['height'], -1);
  w = parseInt_0(this$static.dom_0.style['width'], -1);
  isBorderBox = isBorderBox_1(this$static.dom_0);
  if (isBorderBox && contentOnly && w != -1) {
    w -= $getFrameWidth(this$static, 'lr');
    w < 0 && (w = -1);
  }
   else 
    !isBorderBox && !contentOnly && w != -1 && (w += $getFrameWidth(this$static, 'lr'));
  if (isBorderBox && contentOnly && h_0 != -1) {
    h_0 -= $getFrameWidth(this$static, 'tb');
    h_0 < 0 && (h_0 = -1);
  }
   else 
    !isBorderBox && !contentOnly && h_0 != -1 && (h_0 += $getFrameWidth(this$static, 'tb'));
  offsetWidth = -1;
  offsetHeight = -1;
  if (w == -1 && h_0 == -1) {
    s = $getSize(this$static, contentOnly);
    offsetWidth = s.width_0;
    offsetHeight = s.height_0;
    s.width_0 > 0 && (w = s.width_0);
    s.height_0 > 0 && (h_0 = s.height_0);
  }
   else if (w == -1) {
    offsetWidth = $getWidth(this$static, contentOnly);
    offsetWidth > 0 && (w = offsetWidth);
  }
   else if (h_0 == -1) {
    offsetHeight = (h_1 = this$static.dom_0.offsetHeight || 0 , contentOnly && (h_1 -= $getFrameWidth(this$static, 'tb')) , 0 > h_1?0:h_1);
    offsetHeight > 0 && (h_0 = offsetHeight);
  }
  l_0 = new ArrayList_0;
  w == -1 && (setCheck(l_0.array, l_0.size_0++, 'width') , true);
  h_0 == -1 && (setCheck(l_0.array, l_0.size_0++, 'height') , true);
  map = $getStyleAttribute_1(computedStyle_0, this$static.dom_0, l_0);
  if (map) {
    wid = dynamicCast(map.map['width'], Q$String);
    if (wid != null) {
      w = parseInt_0(wid, -1);
      offsetWidth == 0 && isBorderBox && contentOnly && w != -1 && !($clinit_GXT() , isIE_0)?(w -= $getFrameWidth(this$static, 'lr')):($clinit_GXT() , isIE_0) && isBorderBox && w != -1 && contentOnly?(w -= $getFrameWidth(this$static, 'lr')):offsetWidth == 0 && !isBorderBox && !contentOnly && w != -1 && (w += $getFrameWidth(this$static, 'lr'));
    }
    hei = dynamicCast(map.map['height'], Q$String);
    if (hei != null) {
      h_0 = parseInt_0(hei, -1);
      offsetHeight == 0 && isBorderBox && contentOnly && h_0 != -1 && !($clinit_GXT() , isIE_0)?(h_0 -= $getFrameWidth(this$static, 'tb')):($clinit_GXT() , isIE_0) && isBorderBox && h_0 != -1 && contentOnly?(h_0 -= $getFrameWidth(this$static, 'tb')):offsetHeight == 0 && !isBorderBox && !contentOnly && h_0 != -1 && (h_0 += $getFrameWidth(this$static, 'tb'));
    }
  }
  if (w == -1 && h_0 == -1) {
    return new Size_0(offsetWidth, offsetHeight);
  }
  return new Size_0(w != -1?w:offsetWidth, h_0 != -1?h_0:offsetHeight);
}

function $getSubChild(this$static, depth){
  var child;
  child = this$static.dom_0;
  while (depth-- > 0) {
    child = $getChild_0(child, 0);
  }
  return child;
}

function $getTextWidth(this$static){
  var html, metrics;
  html = this$static.dom_0.innerHTML;
  metrics = (!instance_2 && (instance_2 = new TextMetrics_0) , instance_2);
  $bind_0(metrics, new El_0(this$static.dom_0));
  return $setStyleAttribute(metrics.el, 'width', 'auto') , $getSize_0(metrics, html).width_0;
}

function $getWidth(this$static, content_0){
  var w;
  w = this$static.dom_0.offsetWidth || 0;
  content_0 && (w -= $getFrameWidth(this$static, 'lr'));
  return 0 > w?0:w;
}

function $getXY(this$static){
  return new Point_0($getAbsoluteLeft(this$static.dom_0), $getAbsoluteTop(this$static.dom_0));
}

function $hasStyleName(this$static, style){
  var cls;
  cls = this$static.dom_0.className;
  return (' ' + cls + ' ').indexOf(' ' + style + ' ') != -1;
}

function $insertBefore(this$static, before){
  $insertBefore_1($getParentElement(before), this$static.dom_0, before);
  return this$static;
}

function $insertBefore_0(this$static, child, before){
  $insertBefore_1(this$static.dom_0, child, before);
  return this$static;
}

function $insertChild(this$static, child, index){
  insertChild(this$static.dom_0, child, index);
  return this$static;
}

function $insertFirst(this$static, element){
  insertChild(this$static.dom_0, element, 0);
  return this$static;
}

function $insertInto(this$static, parent_0){
  $appendChild(fly_1(parent_0, '_internal'), this$static.dom_0);
  return this$static;
}

function $isConnected(this$static){
  return $isOrHasChild($doc.body, this$static.dom_0);
}

function $isScrollableX(this$static){
  return (this$static.dom_0.scrollWidth || 0) > this$static.dom_0.clientWidth;
}

function $isScrollableY(this$static){
  return (this$static.dom_0.scrollHeight || 0) > this$static.dom_0.clientHeight;
}

function $isStyleAttribute(this$static, attr, value){
  var a;
  a = dynamicCast($get($getStyleAttribute_0(this$static, new Arrays$ArrayList_0(initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, [attr]))), attr), Q$String);
  return a != null && $equals_2(a, value);
}

function $isStyleAttribute_0(this$static, map, matchAll){
  var a, collection, s, s$iterator;
  collection = new FastMap$2_0(map);
  a = $getStyleAttribute_0(this$static, new ArrayList_2(collection));
  for (s$iterator = $keySet_0(collection.this$0.map).iterator_0(); s$iterator.i < s$iterator.this$0_0.size_1();) {
    s = dynamicCast($next_3(s$iterator), Q$String);
    if ($equals_2(dynamicCast(map.map['' + s], Q$String), a.map['' + s])) {
      if (!matchAll) {
        return true;
      }
    }
     else {
      if (matchAll) {
        return false;
      }
    }
  }
  return false;
}

function $isVisible(this$static, deep){
  var map, p, parent_0, vis;
  map = new FastMap_0;
  $put_1(map.map, 'visibility', 'hidden');
  $put_1(map.map, 'display', 'none');
  vis = !$isStyleAttribute_0(this$static, map, false);
  parent_0 = $getParent(this$static);
  p = parent_0?parent_0.dom_0:null;
  if (!p) {
    return false;
  }
  if (!deep || !vis) {
    return vis;
  }
  while (!!p && p != getBody()) {
    if (!$isVisible(fly_1(p, '_isVisible'), false)) {
      return false;
    }
    p = $getParentElement(p);
  }
  return true;
}

function $lastChild(this$static){
  var e;
  e = $getChild_0(this$static.dom_0, $getChildCount(this$static.dom_0) - 1);
  return !e?null:new El_0(e);
}

function $makePositionable(this$static){
  return $equals_2('static', dynamicCast($getStyleAttribute_0(this$static, new Arrays$ArrayList_0(initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['position']))).map['position'], Q$String)) && ($setStyleAttribute_0(computedStyle_0, this$static.dom_0, 'position', 'relative') , this$static) , this$static;
}

function $makePositionable_0(this$static, absolute){
  absolute?($setStyleAttribute_0(computedStyle_0, this$static.dom_0, 'position', 'absolute') , this$static):$equals_2('static', dynamicCast($getStyleAttribute_0(this$static, new Arrays$ArrayList_0(initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['position']))).map['position'], Q$String)) && ($setStyleAttribute_0(computedStyle_0, this$static.dom_0, 'position', 'relative') , this$static);
  return this$static;
}

function $mask(this$static, message, messageStyleName){
  $equals_2('static', dynamicCast($getStyleAttribute_0(this$static, new Arrays$ArrayList_0(initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['position']))).map['position'], Q$String)) && $addStyleName(this$static, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['x-masked-relative']));
  !!this$static._maskMsg && this$static._maskMsg.remove_0();
  !!this$static._mask && this$static._mask.remove_0();
  this$static._mask = new El_1("<div class='ext-el-mask'><\/div>");
  $addStyleName(this$static, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['x-masked']));
  $setDisplayed(this$static._mask, true);
  $appendChild(this$static, this$static._mask.dom_0);
  if (message != null) {
    this$static._maskMsg = new El_1("<div class='ext-el-mask-msg'><div><\/div><\/div>");
    messageStyleName != null && $addStyleName(this$static._maskMsg, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, [messageStyleName]));
    $setInnerHtml($firstChild(this$static._maskMsg), message);
    $setDisplayed(this$static._maskMsg, true);
    $appendChild(this$static, this$static._maskMsg.dom_0);
    $center(this$static._maskMsg, this$static.dom_0);
  }
  ($clinit_GXT() , isIE_0) && !(isIE7 && isStrict) && $equals_2('auto', dynamicCast($getStyleAttribute_0(this$static, new Arrays$ArrayList_0(initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['height']))).map['height'], Q$String)) && $setSize(this$static._mask, this$static.dom_0.offsetWidth || 0, this$static.dom_0.offsetHeight || 0);
  return this$static._mask;
}

function $removeChildren(this$static){
  var child;
  while (child = $firstChild(this$static)) {
    $removeChild(this$static.dom_0, child.dom_0);
  }
  $setInnerHTML(this$static.dom_0, '');
  return this$static;
}

function $removeFromParent(this$static){
  var p;
  p = $getParentElement(this$static.dom_0);
  !!p && $removeChild(p, this$static.dom_0);
  return this$static;
}

function $removeStyleName(this$static, styleName){
  var dom = this$static.dom_0;
  !removeStyleNameReCache && (removeStyleNameReCache = {});
  if (styleName && dom.className) {
    var s = removeStyleNameReCache[styleName] = removeStyleNameReCache[styleName] || new RegExp('(?:^|\\s+)' + styleName + '(?:\\s+|$)', 'g');
    dom.className = dom.className.replace(s, ' ');
  }
  return this$static;
}

function $removeStyleName_0(this$static, styleNames){
  var s, s$index, s$max;
  for (s$index = 0 , s$max = styleNames.length; s$index < s$max; ++s$index) {
    s = styleNames[s$index];
    $removeStyleName(this$static, s);
  }
  return this$static;
}

function $repaint(this$static){
  $addStyleName(this$static, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['x-repaint']));
  addCommand(new El$2_0(this$static));
  return this$static;
}

function $scrollIntoView(this$static, container, offsets){
  var b, c, cb, ch, ct, l_0, o, t, o_0, e;
  offsets == null && (offsets = initValues(_3I_classLit, makeCastMap([Q$Serializable]), -1, [0, 0]));
  c = container?container:getBody();
  o = (o_0 = new Point_0($getAbsoluteLeft(this$static.dom_0), $getAbsoluteTop(this$static.dom_0)) , e = $getXY(fly_1(c, '_internal')) , new Point_0(o_0.x - e.x, o_0.y - e.y));
  l_0 = o.x;
  t = o.y;
  l_0 = l_0 + (c.scrollLeft || 0);
  t = t + (c.scrollTop || 0);
  b = t + (this$static.dom_0.offsetHeight || 0) + offsets[0];
  l_0 + (this$static.dom_0.offsetWidth || 0) + offsets[1];
  ch = c.clientHeight;
  ct = c.scrollTop || 0;
  cb = ct + ch;
  (this$static.dom_0.offsetHeight || 0) > ch || t < ct?(c.scrollTop = t , undefined):b > cb && (c.scrollTop = b - ch , undefined);
  return this$static;
}

function $select(this$static, selector){
  return $clinit_DomQuery() , internalSelect(selector, this$static.dom_0);
}

function $selectNode(this$static, selector){
  var el;
  el = ($clinit_DomQuery() , internalSelect(selector, this$static.dom_0)[0]);
  if (el) {
    return new El_0(el);
  }
  return null;
}

function $setBorders(this$static, show){
  if (show) {
    $addStyleName(this$static, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['x-border']));
    $setStyleAttribute_0(computedStyle_0, this$static.dom_0, 'borderWidth', '1px');
  }
   else {
    $removeStyleName(this$static, 'x-border');
    $setStyleAttribute_0(computedStyle_0, this$static.dom_0, 'borderWidth', '0px');
  }
  return this$static;
}

function $setDisplayed(this$static, display){
  var value;
  value = display?'block':'none';
  $setStyleAttribute_0(computedStyle_0, this$static.dom_0, 'display', value);
  return this$static;
}

function $setFocus(this$static, focus_0){
  var dom = this$static.dom_0;
  try {
    focus_0?dom.focus():dom.blur();
  }
   catch (err) {
  }
  return this$static;
}

function $setHeight(this$static, height, adjust){
  adjust && !isBorderBox_1(this$static.dom_0) && (height -= $getFrameWidth(this$static, 'tb'));
  height >= 0 && (this$static.dom_0.style['height'] = height + ($clinit_Style$Unit() , 'px') , undefined);
  return this$static;
}

function $setId(this$static, id){
  id == null && (id = ($clinit_XDOM() , 'x-auto-' + autoId++));
  $setId_1(this$static.dom_0, id);
  return this$static;
}

function $setInnerHtml(this$static, html){
  $setInnerHTML(this$static.dom_0, html);
  return this$static;
}

function $setLeftTop(this$static, left, top_0){
  this$static.setLeft(left);
  this$static.setTop(top_0);
  return this$static;
}

function $setScrollLeft(this$static, left){
  this$static.dom_0['scrollLeft'] = left;
  return this$static;
}

function $setScrollTop(this$static, top_0){
  this$static.dom_0['scrollTop'] = top_0;
  return this$static;
}

function $setSize(this$static, width, height){
  $setSize_0(this$static, width, height, false);
  return this$static;
}

function $setSize_0(this$static, width, height, adjust){
  var frameWidth;
  if (adjust && !isBorderBox_1(this$static.dom_0)) {
    frameWidth = $getFrameSize(this$static);
    width -= frameWidth.width_0;
    height -= frameWidth.height_0;
  }
  width >= 0 && (this$static.dom_0.style['width'] = width + ($clinit_Style$Unit() , 'px') , undefined);
  height >= 0 && (this$static.dom_0.style['height'] = height + ($clinit_Style$Unit() , 'px') , undefined);
  return this$static;
}

function $setStyleAttribute(this$static, attr, value){
  $setStyleAttribute_0(computedStyle_0, this$static.dom_0, attr, value);
  return this$static;
}

function $setStyleName(this$static, style, add){
  add?$addStyleName(this$static, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, [style])):$removeStyleName(this$static, style);
  return this$static;
}

function $setTabIndex(this$static, index){
  this$static.dom_0['tabIndex'] = index;
  return null;
}

function $setValue(this$static, value){
  this$static.dom_0['value'] = value;
  return this$static;
}

function $setWidth(this$static, width, adjust){
  adjust && !isBorderBox_1(this$static.dom_0) && (width -= $getFrameWidth(this$static, 'lr'));
  width >= 0 && (this$static.dom_0.style['width'] = width + ($clinit_Style$Unit() , 'px') , undefined);
  return this$static;
}

function $setXY(this$static, p){
  var pts;
  $equals_2('static', dynamicCast($getStyleAttribute_0(this$static, new Arrays$ArrayList_0(initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['position']))).map['position'], Q$String)) && ($setStyleAttribute_0(computedStyle_0, this$static.dom_0, 'position', 'relative') , this$static);
  pts = $translatePoints(this$static, p);
  p.x != -1 && this$static.setLeft(pts.x);
  p.y != -1 && this$static.setTop(pts.y);
  return this$static;
}

function $slideIn(this$static, direction, config){
  var fx;
  fx = new Fx_0(config);
  $run_0(fx, new BaseEffect$SlideIn_0(this$static, direction));
  return this$static;
}

function $slideOut(this$static, direction, config){
  var fx;
  fx = new Fx_0(config);
  $run_0(fx, new BaseEffect$SlideOut_0(this$static, direction));
  return this$static;
}

function $subChild(this$static, depth){
  var child;
  child = this$static.dom_0;
  while (depth-- > 0) {
    child = $getChild_0(child, 0);
  }
  return new El_0(child);
}

function $translatePoints(this$static, p){
  var l_0, list, map, o, relative, t;
  list = new ArrayList_1;
  setCheck(list.array, list.size_0++, 'position');
  setCheck(list.array, list.size_0++, 'left');
  setCheck(list.array, list.size_0++, 'top');
  map = $getStyleAttribute_1(computedStyle_0, this$static.dom_0, list);
  relative = $equals_2('relative', map.map['position']);
  l_0 = parseInt_0(dynamicCast(map.map['left'], Q$String), -11234);
  t = parseInt_0(dynamicCast(map.map['top'], Q$String), -11234);
  l_0 = l_0 != -11234?l_0:relative?0:this$static.dom_0.offsetLeft || 0;
  t = t != -11234?t:relative?0:this$static.dom_0.offsetTop || 0;
  o = new Point_0($getAbsoluteLeft(this$static.dom_0), $getAbsoluteTop(this$static.dom_0));
  return new Point_0(p.x - o.x + l_0, p.y - o.y + t);
}

function $unmask(this$static){
  if (this$static._mask) {
    if (this$static._maskMsg) {
      this$static._maskMsg.remove_0();
      this$static._maskMsg = null;
    }
    this$static._mask.setVisible(false);
    this$static._mask.remove_0();
    this$static._mask = null;
    $removeStyleName_0(this$static, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['x-masked', 'x-masked-relative']));
  }
  return this$static;
}

function $unwrap(this$static, child, bounds){
  var p, pos;
  $setLeftTop(fly_1(child, '_internal'), bounds.x, bounds.y);
  p = $getParentElement(this$static.dom_0);
  pos = $getChildIndex(p, this$static.dom_0);
  $removeChild(p, this$static.dom_0);
  $insertChild_0(p, ($clinit_PotentialElement() , $resolve(child)), pos);
  return this$static;
}

function $update(this$static, html){
  $setInnerHTML(this$static.dom_0, html);
  return this$static;
}

function $wrap(this$static, wrapper){
  var h_0, l_0, pos, t, w, wrap, h_1, w_0;
  wrap = new El_0(wrapper);
  wrap.setVisible(false);
  pos = dynamicCast($getStyleAttribute_0(this$static, new Arrays$ArrayList_0(initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['position']))).map['position'], Q$String);
  $setStyleAttribute_0(computedStyle_0, wrap.dom_0, 'position', pos);
  l_0 = parseInt_0(dynamicCast($getStyleAttribute_0(this$static, new Arrays$ArrayList_0(initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['left']))).map['left'], Q$String), 0);
  t = parseInt_0(dynamicCast($getStyleAttribute_0(this$static, new Arrays$ArrayList_0(initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['top']))).map['top'], Q$String), 0);
  this$static.setLeft(5000);
  this$static.setVisible(true);
  h_0 = (h_1 = this$static.dom_0.offsetHeight || 0 , h_1 == 0 && (h_1 = $getIntStyleAttribute(this$static, 'height')) , h_1);
  w = (w_0 = this$static.dom_0.offsetWidth || 0 , w_0 == 0 && (w_0 = $getIntStyleAttribute(this$static, 'width')) , w_0);
  this$static.setLeft(1);
  $setStyleAttribute_0(computedStyle_0, this$static.dom_0, 'overflow', 'hidden');
  this$static.setVisible(false);
  $insertBefore(wrap, this$static.dom_0);
  $appendChild(wrap, this$static.dom_0);
  $setStyleAttribute_0(computedStyle_0, wrap.dom_0, 'overflow', 'hidden');
  wrap.setLeft(l_0);
  wrap.setTop(t);
  this$static.setTop(0);
  this$static.setLeft(0);
  return new Rectangle_1(l_0, t, w, h_0);
}

function El_0(element){
  $clinit_El();
  this.dom_0 = element;
}

function El_1(html){
  $clinit_El();
  El_0.call(this, create(html));
}

function addUnits(v, defaultUnit){
  $clinit_El();
  if (v === '' || v == 'auto') {
    return v;
  }
  if (v === undefined) {
    return '';
  }
  if (typeof v == 'number' || !/\d+(px|em|%|en|ex|pt|in|cm|mm|pc)$/i.test(v)) {
    return v + (defaultUnit || 'px');
  }
  return v;
}

function disableTextSelectInternal(e, disable){
  if (disable) {
    e.ondrag = function(evt){
      var targ;
      !evt && (evt = $wnd.event);
      evt.target?(targ = evt.target):evt.srcElement && (targ = evt.srcElement);
      targ.nodeType == 3 && (targ = targ.parentNode);
      if (targ.tagName == 'INPUT' || targ.tagName == 'TEXTAREA') {
        return true;
      }
      return false;
    }
    ;
    e.onselectstart = function(evt){
      var targ;
      !evt && (evt = $wnd.event);
      evt.target?(targ = evt.target):evt.srcElement && (targ = evt.srcElement);
      targ.nodeType == 3 && (targ = targ.parentNode);
      if (targ.tagName == 'INPUT' || targ.tagName == 'TEXTAREA') {
        return true;
      }
      return false;
    }
    ;
  }
   else {
    e.ondrag = null;
    e.onselectstart = null;
  }
}

function fly(element){
  $clinit_El();
  return fly_0(element, '_global');
}

function fly_0(element, s){
  $clinit_El();
  var g;
  g = dynamicCast($get(flyweights, s), Q$El);
  if (!g) {
    g = new El_0($doc.createElement('div'));
    $put(flyweights, s, g);
  }
  g.dom_0 = element;
  return g;
}

function fly_1(element, s){
  $clinit_El();
  var g;
  g = dynamicCast($get(flyweights, s), Q$El);
  if (!g) {
    g = new El_0($doc.createElement('div'));
    $put(flyweights, s, g);
  }
  g.dom_0 = element;
  return g;
}

function isBorderBox_1(element){
  $clinit_El();
  var r, tag, testElement;
  tag = element.tagName.toLowerCase();
  r = dynamicCast($get(borderBoxMap, tag), Q$Boolean);
  if (!r) {
    testElement = $createElement($doc, tag);
    testElement.style['padding'] = 1 + ($clinit_Style$Unit() , 'px');
    testElement.style['width'] = '100px';
    testElement.style['visibility'] = 'hidden';
    testElement.style['position'] = 'absolute';
    $appendChild_0(getBody(), testElement);
    r = ($clinit_Boolean() , (testElement.offsetWidth || 0) == 100?TRUE_0:FALSE_0);
    $removeChild(getBody(), testElement);
    $put(borderBoxMap, tag, r);
  }
  return r.value_0;
}

defineSeed(64, 1, makeCastMap([Q$El]), El_0, El_1);
_.applyStyles_0 = function applyStyles(styles){
  return $applyStyles(this, styles);
}
;
_.equals$ = function equals_2(obj){
  if (instanceOf(obj, Q$El)) {
    return $equals_2($getId(this), $getId(dynamicCast(obj, Q$El)));
  }
  return this === obj;
}
;
_.getStyleAttribute = function getStyleAttribute(attr){
  return $getStyleAttribute(this, attr);
}
;
_.remove_0 = function remove_0(){
  return $removeFromParent(this);
}
;
_.setHeight = function setHeight(height, adjust){
  return $setHeight(this, height, adjust);
}
;
_.setHeight_0 = function setHeight_0(height){
  return setStyleAttribute_0(this.dom_0, 'height', addUnits(height, 'px')) , this;
}
;
_.setLeft = function setLeft(left){
  return this.dom_0.style['left'] = left + ($clinit_Style$Unit() , 'px') , this;
}
;
_.setStyleAttribute = function setStyleAttribute(attr, value){
  return $setStyleAttribute(this, attr, value);
}
;
_.setTop = function setTop(top_0){
  return this.dom_0.style['top'] = top_0 + ($clinit_Style$Unit() , 'px') , this;
}
;
_.setVisibility = function setVisibility(visible){
  return $setStyleAttribute_0(computedStyle_0, this.dom_0, 'visibility', visible?'visible':'hidden') , this;
}
;
_.setVisible = function setVisible(visible){
  return $setDisplayed(this, visible);
}
;
_.setWidth = function setWidth(width, adjust){
  return $setWidth(this, width, adjust);
}
;
_.setWidth_0 = function setWidth_0(width){
  return setStyleAttribute_0(this.dom_0, 'width', addUnits(width, 'px')) , this;
}
;
_.setZIndex = function setZIndex(zIndex){
  return setIntStyleAttribute(this.dom_0, 0 > zIndex?0:zIndex) , this;
}
;
_.toString$ = function toString_6(){
  return this.dom_0.getAttribute('outerHTML') || '';
}
;
_._mask = null;
_._maskMsg = null;
_.dom_0 = null;
_.isClipped = false;
_.originalClipped = null;
var borderBoxMap, computedStyle_0, flyweights, leftRightTest = null, removeStyleNameReCache = null;
function El$2_0(this$0){
  this.this$0 = this$0;
}

defineSeed(65, 1, makeCastMap([Q$Command]), El$2_0);
_.execute = function execute_2(){
  $removeStyleName(this.this$0, 'x-repaint');
}
;
_.this$0 = null;
--></script>
<script><!--
function loadDomHelper(){
  var Ext = $wnd.GXT.Ext;
  if (Ext.DomHelper) {
    return;
  }
  Ext.DomHelper = function(){
    var tempTableEl = null;
    var emptyTags = /^(?:br|frame|hr|img|input|link|meta|range|spacer|wbr|area|param|col)$/i;
    var tableRe = /^table|tbody|tr|td$/i;
    var createHtml = function(o){
      if (typeof o == 'string') {
        return o;
      }
      var b = '';
      !o.tag && (o.tag = 'div');
      b += '<' + o.tag;
      for (var attr in o) {
        if (attr == 'tag' || attr == 'children' || attr == 'cn' || attr == 'html' || typeof o[attr] == 'function')
          continue;
        if (attr == 'style') {
          var s = o['style'];
          typeof s == 'function' && (s = s.call());
          if (typeof s == 'string') {
            b += ' style="' + s + '"';
          }
           else if (typeof s == 'object') {
            b += ' style="';
            for (var key in s) {
              typeof s[key] != 'function' && (b += key + ':' + s[key] + ';');
            }
            b += '"';
          }
        }
         else {
          attr == 'cls'?(b += ' class="' + o['cls'] + '"'):attr == 'htmlFor'?(b += ' for="' + o['htmlFor'] + '"'):(b += ' ' + attr + '="' + o[attr] + '"');
        }
      }
      if (emptyTags.test(o.tag)) {
        b += '/>';
      }
       else {
        b += '>';
        var cn = o.children || o.cn;
        if (cn) {
          if (cn instanceof Array) {
            for (var i = 0, len = cn.length; i < len; i++) {
              b += createHtml(cn[i], b);
            }
          }
           else {
            b += createHtml(cn, b);
          }
        }
        o.html && (b += o.html);
        b += '<\/' + o.tag + '>';
      }
      return b;
    }
    ;
    var createDom = function(o, parentNode){
      var el = document.createElement(o.tag || 'div');
      var useSet = el.setAttribute?true:false;
      for (var attr in o) {
        if (attr == 'tag' || attr == 'children' || attr == 'cn' || attr == 'html' || attr == 'style' || typeof o[attr] == 'function')
          continue;
        attr == 'cls'?(el.className = o['cls']):useSet?el.setAttribute(attr, o[attr]):(el[attr] = o[attr]);
      }
      Ext.DomHelper.applyStyles(el, o.style);
      var cn = o.children || o.cn;
      if (cn) {
        if (cn instanceof Array) {
          for (var i = 0, len = cn.length; i < len; i++) {
            createDom(cn[i], el);
          }
        }
         else {
          createDom(cn, el);
        }
      }
      o.html && (el.innerHTML = o.html);
      parentNode && parentNode.appendChild(el);
      return el;
    }
    ;
    var ieTable = function(depth, s, h_0, e){
      tempTableEl.innerHTML = [s, h_0, e].join('');
      var i = -1, el = tempTableEl;
      while (++i < depth) {
        el = el.firstChild;
      }
      return el;
    }
    ;
    var ts = '<table>', te = '<\/table>', tbs = ts + '<tbody>', tbe = '<\/tbody>' + te, trs = tbs + '<tr>', tre = '<\/tr>' + tbe;
    var insertIntoTable = function(tag, where, el, html){
      !tempTableEl && (tempTableEl = document.createElement('div'));
      var node;
      var before = null;
      if (tag == 'td') {
        if (where == 'afterbegin' || where == 'beforeend') {
          return;
        }
        if (where == 'beforebegin') {
          before = el;
          el = el.parentNode;
        }
         else {
          before = el.nextSibling;
          el = el.parentNode;
        }
        node = ieTable(4, trs, html, tre);
      }
       else if (tag == 'tr') {
        if (where == 'beforebegin') {
          before = el;
          el = el.parentNode;
          node = ieTable(3, tbs, html, tbe);
        }
         else if (where == 'afterend') {
          before = el.nextSibling;
          el = el.parentNode;
          node = ieTable(3, tbs, html, tbe);
        }
         else {
          where == 'afterbegin' && (before = el.firstChild);
          node = ieTable(4, trs, html, tre);
        }
      }
       else if (tag == 'tbody') {
        if (where == 'beforebegin') {
          before = el;
          el = el.parentNode;
          node = ieTable(2, ts, html, te);
        }
         else if (where == 'afterend') {
          before = el.nextSibling;
          el = el.parentNode;
          node = ieTable(2, ts, html, te);
        }
         else {
          where == 'afterbegin' && (before = el.firstChild);
          node = ieTable(3, tbs, html, tbe);
        }
      }
       else {
        if (where == 'beforebegin' || where == 'afterend') {
          return;
        }
        where == 'afterbegin' && (before = el.firstChild);
        node = ieTable(2, ts, html, te);
      }
      el.insertBefore(node, before);
      return node;
    }
    ;
    return {useDom:false, markup:function(o){
      return createHtml(o);
    }
    , applyStyles:function(el, styles){
      if (styles) {
        if (typeof styles == 'string') {
          fly(el).applyStyles_0(styles);
        }
         else if (typeof styles == 'object') {
          for (var style in styles) {
            fly(el).applyStyles_0(styles[tyle]);
          }
        }
         else 
          typeof styles == 'function' && Ext.DomHelper.applyStyles(el, styles.call());
      }
    }
    , insertHtml:function(where, el, html){
      where = where.toLowerCase();
      if (el.insertAdjacentHTML) {
        if (tableRe.test(el.tagName)) {
          var rs;
          if (rs = insertIntoTable(el.tagName.toLowerCase(), where, el, html)) {
            return rs;
          }
        }
        switch (where) {
          case 'beforebegin':
            el.insertAdjacentHTML('BeforeBegin', html);
            return el.previousSibling;
          case 'afterbegin':
            el.insertAdjacentHTML('AfterBegin', html);
            return el.firstChild;
          case 'beforeend':
            el.insertAdjacentHTML('BeforeEnd', html);
            return el.lastChild;
          case 'afterend':
            el.insertAdjacentHTML('AfterEnd', html);
            return el.nextSibling;
        }
        throw 'Illegal insertion point -> "' + where + '"';
      }
      var range = el.ownerDocument.createRange();
      var frag;
      switch (where) {
        case 'beforebegin':
          range.setStartBefore(el);
          frag = range.createContextualFragment(html);
          el.parentNode.insertBefore(frag, el);
          return el.previousSibling;
        case 'afterbegin':
          if (el.firstChild) {
            range.setStartBefore(el.firstChild);
            frag = range.createContextualFragment(html);
            el.insertBefore(frag, el.firstChild);
            return el.firstChild;
          }
           else {
            el.innerHTML = html;
            return el.firstChild;
          }

        case 'beforeend':
          if (el.lastChild) {
            range.setStartAfter(el.lastChild);
            frag = range.createContextualFragment(html);
            el.appendChild(frag);
            return el.lastChild;
          }
           else {
            el.innerHTML = html;
            return el.lastChild;
          }

        case 'afterend':
          range.setStartAfter(el);
          frag = range.createContextualFragment(html);
          el.parentNode.insertBefore(frag, el.nextSibling);
          return el.nextSibling;
      }
      throw 'Illegal insertion point -> "' + where + '"';
    }
    , insertBefore:function(el, o, returnElement){
      return this.doInsert(el, o, returnElement, 'beforeBegin');
    }
    , insertAfter:function(el, o, returnElement){
      return this.doInsert(el, o, returnElement, 'afterEnd', 'nextSibling');
    }
    , insertFirst:function(el, o, returnElement){
      return this.doInsert(el, o, returnElement, 'afterBegin', 'firstChild');
    }
    , doInsert:function(el, o, returnElement, pos, sibling){
      var newNode;
      if (this.useDom) {
        newNode = createDom(o, null);
        (sibling === 'firstChild'?el:el.parentNode).insertBefore(newNode, sibling?el[sibling]:el);
      }
       else {
        var html = createHtml(o);
        newNode = this.insertHtml(pos, el, html);
      }
      return newNode;
    }
    , append:function(el, o, returnElement){
      var newNode;
      if (this.useDom) {
        newNode = createDom(o, null);
        el.appendChild(newNode);
      }
       else {
        var html = createHtml(o);
        newNode = this.insertHtml('beforeEnd', el, html);
      }
      return newNode;
    }
    , overwrite:function(el, o, returnElement){
      el.innerHTML = createHtml(o);
      return el.firstChild;
    }
    , createTemplate:function(o){
      var html = createHtml(o);
      return new Ext.Template(html);
    }
    };
  }
  ();
}

function loadDomQuery(){
  var Ext = $wnd.GXT.Ext;
  if (Ext.DomQuery) {
    return;
  }
  Ext.DomQuery = function(){
    var cache = {}, simpleCache = {}, valueCache = {};
    var nonSpace = /\S/;
    var trimRe = /^\s+|\s+$/g;
    var tplRe = /\{(\d+)\}/g;
    var modeRe = /^(\s?[\/>+~]\s?|\s|$)/;
    var tagTokenRe = /^(#)?([\-\w\*]+)/;
    var nthRe = /(\d*)n\+?(\d*)/, nthRe2 = /\D/;
    var document_0 = $doc;
    ;
    function next(n){
      while ((n = n.nextSibling) && n.nodeType != 1)
      ;
      return n;
    }

    ;
    function prev(n){
      while ((n = n.previousSibling) && n.nodeType != 1)
      ;
      return n;
    }

    ;
    ;
    $wnd.GXT.__byClassName = function(c, a, v){
      if (!v) {
        return c;
      }
      var r = [], ri = -1, cn;
      for (var i = 0, ci; ci = c[i]; i++) {
        (' ' + ci.className + ' ').indexOf(v) != -1 && (r[++ri] = ci);
      }
      return r;
    }
    ;
    function attrValue(n, attr){
      !n.tagName && typeof n.length != 'undefined' && (n = n[0]);
      if (!n) {
        return null;
      }
      if (attr == 'for') {
        return n.htmlFor;
      }
      if (attr == 'class' || attr == 'className') {
        return n.className;
      }
      return n.getAttribute(attr) || n[attr];
    }

    $wnd.GXT.__attrValue = attrValue;
    $wnd.GXT.__getNodes = function(ns, mode, tagName){
      var result = [], ri = -1, cs;
      if (!ns) {
        return result;
      }
      tagName = tagName || '*';
      typeof ns.getElementsByTagName != 'undefined' && (ns = [ns]);
      if (!mode) {
        for (var i = 0, ni; ni = ns[i]; i++) {
          cs = ni.getElementsByTagName(tagName);
          for (var j = 0, ci; ci = cs[j]; j++) {
            result[++ri] = ci;
          }
        }
      }
       else if (mode == '/' || mode == '>') {
        var utag = tagName.toUpperCase();
        for (var i = 0, ni, cn; ni = ns[i]; i++) {
          cn = ni.children || ni.childNodes;
          for (var j = 0, cj; cj = cn[j]; j++) {
            (cj.nodeName == utag || cj.nodeName == tagName || tagName == '*') && (result[++ri] = cj);
          }
        }
      }
       else if (mode == '+') {
        var utag = tagName.toUpperCase();
        for (var i = 0, n; n = ns[i]; i++) {
          while ((n = n.nextSibling) && n.nodeType != 1)
          ;
          n && (n.nodeName == utag || n.nodeName == tagName || tagName == '*') && (result[++ri] = n);
        }
      }
       else if (mode == '~') {
        for (var i = 0, n; n = ns[i]; i++) {
          while ((n = n.nextSibling) && (n.nodeType != 1 || tagName == '*' || n.tagName.toLowerCase() != tagName))
          ;
          n && (result[++ri] = n);
        }
      }
      return result;
    }
    ;
    $wnd.GXT.__byTag = function(cs, tagName){
      (cs.tagName || cs == document_0) && (cs = [cs]);
      if (!tagName) {
        return cs;
      }
      var r = [], ri = -1;
      tagName = tagName.toLowerCase();
      for (var i = 0, ci; ci = cs[i]; i++) {
        ci.nodeType == 1 && ci.tagName.toLowerCase() == tagName && (r[++ri] = ci);
      }
      return r;
    }
    ;
    $wnd.GXT.__byId = function(cs, attr, id){
      (cs.tagName || cs == document_0) && (cs = [cs]);
      if (!id) {
        return cs;
      }
      var r = [], ri = -1;
      for (var i = 0, ci; ci = cs[i]; i++) {
        if (ci && ci.id == id) {
          r[++ri] = ci;
          return r;
        }
      }
      return r;
    }
    ;
    $wnd.GXT.__byAttribute = function(cs, attr, value, op, custom){
      var r = [], ri = -1, st = custom == '{';
      var f_0 = Ext.DomQuery.operators[op];
      for (var i = 0, ci; ci = cs[i]; i++) {
        var a;
        st?(a = Ext.DomQuery.getStyle(ci, attr)):attr == 'class' || attr == 'className'?(a = ci.className):attr == 'for'?(a = ci.htmlFor):attr == 'href'?(a = ci.getAttribute('href', 2)):(a = ci.getAttribute(attr));
        (f_0 && f_0(a, value) || !f_0 && a) && (r[++ri] = ci);
      }
      return r;
    }
    ;
    $wnd.GXT.__byPseudo = function(cs, name_0, value){
      return Ext.DomQuery.pseudos[name_0](cs, value);
    }
    ;
    var isIE = window.ActiveXObject?true:false;
    batch = 30803;
    var key = 30803;
    function nodupIEXml(cs){
      var d = ++key;
      cs[0].setAttribute('_nodup', d);
      var r = [cs[0]];
      for (var i = 1, len = cs.length; i < len; i++) {
        var c = cs[i];
        if (!c.getAttribute('_nodup') != d) {
          c.setAttribute('_nodup', d);
          r[r.length] = c;
        }
      }
      for (var i = 0, len = cs.length; i < len; i++) {
        cs[i].removeAttribute('_nodup');
      }
      return r;
    }

    $wnd.GXT.___nodup = function(cs){
      if (!cs) {
        return [];
      }
      var len = cs.length, c, i, r = cs, cj, ri = -1;
      if (!len || typeof cs.nodeType != 'undefined' || len == 1) {
        return cs;
      }
      if (isIE && typeof cs[0].selectSingleNode != 'undefined') {
        return nodupIEXml(cs);
      }
      var d = ++key;
      cs[0]._nodup = d;
      for (i = 1; c = cs[i]; i++) {
        if (c._nodup != d) {
          c._nodup = d;
        }
         else {
          r = [];
          for (var j = 0; j < i; j++) {
            r[++ri] = cs[j];
          }
          for (j = i + 1; cj = cs[j]; j++) {
            if (cj._nodup != d) {
              cj._nodup = d;
              r[++ri] = cj;
            }
          }
          return r;
        }
      }
      return r;
    }
    ;
    function quickDiffIEXml(c1, c2){
      var d = ++key;
      for (var i = 0, len = c1.length; i < len; i++) {
        c1[i].setAttribute('_qdiff', d);
      }
      var r = [];
      for (var i = 0, len = c2.length; i < len; i++) {
        c2[i].getAttribute('_qdiff') != d && (r[r.length] = c2[i]);
      }
      for (var i = 0, len = c1.length; i < len; i++) {
        c1[i].removeAttribute('_qdiff');
      }
      return r;
    }

    function quickDiff(c1, c2){
      var len1 = c1.length;
      if (!len1) {
        return c2;
      }
      if (isIE && c1[0].selectSingleNode) {
        return quickDiffIEXml(c1, c2);
      }
      var d = ++key;
      for (var i = 0; i < len1; i++) {
        c1[i]._qdiff = d;
      }
      var r = [];
      for (var i = 0, len = c2.length; i < len; i++) {
        c2[i]._qdiff != d && (r[r.length] = c2[i]);
      }
      return r;
    }

    function quickId(ns, mode, root, id){
      if (ns == root) {
        var d = root.ownerDocument || root;
        return d.getElementById(id);
      }
      ns = $wnd.GXT.__getNodes(ns, mode, '*');
      return $wnd.GXT.__byId(ns, null, id);
    }

    $wnd.GXT.__quickId = quickId;
    return {getStyle:function(el, name_0){
      return fly(el).getStyleAttribute(name_0);
    }
    , compile:function(path, type){
      type = type || 'select';
      var fn = ['var f = function(root){\n var mode; ++batch; var n = root || document;\n'];
      var q = path, mode, lq;
      var tk = Ext.DomQuery.matchers;
      var tklen = tk.length;
      var mm;
      var lmode = q.match(modeRe);
      if (lmode && lmode[1]) {
        fn[fn.length] = 'mode="' + lmode[1].replace(trimRe, '') + '";';
        q = q.replace(lmode[1], '');
      }
      while (path.substr(0, 1) == '/') {
        path = path.substr(1);
      }
      while (q && lq != q) {
        lq = q;
        var tm = q.match(tagTokenRe);
        if (type == 'select') {
          if (tm) {
            tm[1] == '#'?(fn[fn.length] = 'n = $wnd.GXT.__quickId(n, mode, root, "' + tm[2] + '");'):(fn[fn.length] = 'n = $wnd.GXT.__getNodes(n, mode, "' + tm[2] + '");');
            q = q.replace(tm[0], '');
          }
           else 
            q.substr(0, 1) != '@' && (fn[fn.length] = 'n = $wnd.GXT.__getNodes(n, mode, "*");');
        }
         else {
          if (tm) {
            tm[1] == '#'?(fn[fn.length] = 'n = $wnd.GXT.__byId(n, null, "' + tm[2] + '");'):(fn[fn.length] = 'n = $wnd.GXT.__byTag(n, "' + tm[2] + '");');
            q = q.replace(tm[0], '');
          }
        }
        while (!(mm = q.match(modeRe))) {
          var matched = false;
          for (var j = 0; j < tklen; j++) {
            var t = tk[j];
            var m_0 = q.match(t.re);
            if (m_0) {
              fn[fn.length] = t.select.replace(tplRe, function(x, i){
                return m_0[i];
              }
              );
              q = q.replace(m_0[0], '');
              matched = true;
              break;
            }
          }
          if (!matched) {
            throw 'Error parsing selector, parsing failed at "' + q + '"';
          }
        }
        if (mm[1]) {
          fn[fn.length] = 'mode="' + mm[1].replace(trimRe, '') + '";';
          q = q.replace(mm[1], '');
        }
      }
      fn[fn.length] = 'return $wnd.GXT.___nodup(n);\n}';
      eval(fn.join(''));
      return f;
    }
    , select:function(path, root, type){
      (!root || root == document_0) && (root = document_0);
      typeof root == 'string' && (root = document_0.getElementById(root));
      var paths = path.split(',');
      var results = [];
      for (var i = 0, len = paths.length; i < len; i++) {
        var p = paths[i].replace(trimRe, '');
        if (!cache[p]) {
          cache[p] = Ext.DomQuery.compile(p);
          if (!cache[p]) {
            throw p + ' is not a valid selector';
          }
        }
        var result = cache[p](root);
        result && result != document_0 && (results = results.concat(result));
      }
      if (paths.length > 1) {
        return $wnd.GXT.___nodup(results);
      }
      return results;
    }
    , selectNode:function(path, root){
      return Ext.DomQuery.select(path, root)[0];
    }
    , selectValue:function(path, root, defaultValue){
      path = path.replace(trimRe, '');
      !valueCache[path] && (valueCache[path] = Ext.DomQuery.compile(path, 'select'));
      var n = valueCache[path](root);
      n = n[0]?n[0]:n;
      var v = n && n.firstChild?n.firstChild.nodeValue:null;
      return v === null || v === undefined || v === ''?defaultValue:v;
    }
    , selectNumber:function(path, root, defaultValue){
      var v = Ext.DomQuery.selectValue(path, root, defaultValue || 0);
      return parseFloat(v);
    }
    , is:function(el, ss){
      typeof el == 'string' && (el = document_0.getElementById(el));
      var isArray = el instanceof Array;
      var result = Ext.DomQuery.filter(isArray?el:[el], ss);
      return isArray?result.length == el.length:result.length > 0;
    }
    , filter:function(els, ss, nonMatches){
      ss = ss.replace(trimRe, '');
      !simpleCache[ss] && (simpleCache[ss] = Ext.DomQuery.compile(ss, 'simple'));
      var result = simpleCache[ss](els);
      return nonMatches?quickDiff(result, els):result;
    }
    , matchers:[{re:/^\.([\w-]+)/, select:'n = $wnd.GXT.__byClassName(n, null, " {1} ");'}, {re:/^\:([\w-]+)(?:\(((?:[^\s>\/]*|.*?))\))?/, select:'n = $wnd.GXT.__byPseudo(n, "{1}", "{2}");'}, {re:/^(?:([\[\{])(?:@)?([\w-]+)\s?(?:(=|.=)\s?['"]?(.*?)["']?)?[\]\}])/, select:'n = $wnd.GXT.__byAttribute(n, "{2}", "{4}", "{3}", "{1}");'}, {re:/^#([\w-]+)/, select:'n = $wnd.GXT.__byId(n, null, "{1}");'}, {re:/^@([\w-]+)/, select:'return {firstChild:{nodeValue:$wnd.GXT.__attrValue(n, "{1}")}};'}], operators:{'=':function(a, v){
      return a == v;
    }
    , '!=':function(a, v){
      return a != v;
    }
    , '^=':function(a, v){
      return a && a.substr(0, v.length) == v;
    }
    , '$=':function(a, v){
      return a && a.substr(a.length - v.length) == v;
    }
    , '*=':function(a, v){
      return a && a.indexOf(v) !== -1;
    }
    , '%=':function(a, v){
      return a % v == 0;
    }
    , '|=':function(a, v){
      return a && (a == v || a.substr(0, v.length + 1) == v + '-');
    }
    , '~=':function(a, v){
      return a && (' ' + a + ' ').indexOf(' ' + v + ' ') != -1;
    }
    }, pseudos:{'first-child':function(c){
      var r = [], ri = -1, n;
      for (var i = 0, ci; ci = n = c[i]; i++) {
        while ((n = n.previousSibling) && n.nodeType != 1)
        ;
        !n && (r[++ri] = ci);
      }
      return r;
    }
    , 'last-child':function(c){
      var r = [], ri = -1, n;
      for (var i = 0, ci; ci = n = c[i]; i++) {
        while ((n = n.nextSibling) && n.nodeType != 1)
        ;
        !n && (r[++ri] = ci);
      }
      return r;
    }
    , 'nth-child':function(c, a){
      var r = [], ri = -1;
      var m_0 = nthRe.exec(a == 'even' && '2n' || a == 'odd' && '2n+1' || !nthRe2.test(a) && 'n+' + a || a);
      var f_0 = (m_0[1] || 1) - 0, l_0 = m_0[2] - 0;
      for (var i = 0, n; n = c[i]; i++) {
        var pn = n.parentNode;
        if (batch != pn._batch) {
          var j = 0;
          for (var cn = pn.firstChild; cn; cn = cn.nextSibling) {
            cn.nodeType == 1 && (cn.nodeIndex = ++j);
          }
          pn._batch = batch;
        }
        f_0 == 1?(l_0 == 0 || n.nodeIndex == l_0) && (r[++ri] = n):(n.nodeIndex + l_0) % f_0 == 0 && (r[++ri] = n);
      }
      return r;
    }
    , 'only-child':function(c){
      var r = [], ri = -1;
      ;
      for (var i = 0, ci; ci = c[i]; i++) {
        !prev(ci) && !next(ci) && (r[++ri] = ci);
      }
      return r;
    }
    , empty:function(c){
      var r = [], ri = -1;
      for (var i = 0, ci; ci = c[i]; i++) {
        var cns = ci.childNodes, j = 0, cn, empty = true;
        while (cn = cns[j]) {
          ++j;
          if (cn.nodeType == 1 || cn.nodeType == 3) {
            empty = false;
            break;
          }
        }
        empty && (r[++ri] = ci);
      }
      return r;
    }
    , contains:function(c, v){
      var r = [], ri = -1;
      for (var i = 0, ci; ci = c[i]; i++) {
        (ci.textContent || ci.innerText || '').indexOf(v) != -1 && (r[++ri] = ci);
      }
      return r;
    }
    , nodeValue:function(c, v){
      var r = [], ri = -1;
      for (var i = 0, ci; ci = c[i]; i++) {
        ci.firstChild && ci.firstChild.nodeValue == v && (r[++ri] = ci);
      }
      return r;
    }
    , checked:function(c){
      var r = [], ri = -1;
      for (var i = 0, ci; ci = c[i]; i++) {
        ci.checked == true && (r[++ri] = ci);
      }
      return r;
    }
    , not:function(c, ss){
      return Ext.DomQuery.filter(c, ss, true);
    }
    , any:function(c, selectors){
      var ss = selectors.split('|');
      var r = [], ri = -1, s;
      for (var i = 0, ci; ci = c[i]; i++) {
        for (var j = 0; s = ss[j]; j++) {
          if (Ext.DomQuery.is(ci, s)) {
            r[++ri] = ci;
            break;
          }
        }
      }
      return r;
    }
    , odd:function(c){
      return this['nth-child'](c, 'odd');
    }
    , even:function(c){
      return this['nth-child'](c, 'even');
    }
    , nth:function(c, a){
      return c[a - 1] || [];
    }
    , first:function(c){
      return c[0] || [];
    }
    , last:function(c){
      return c[c.length - 1] || [];
    }
    , has:function(c, ss){
      var s = Ext.DomQuery.select;
      var r = [], ri = -1;
      for (var i = 0, ci; ci = c[i]; i++) {
        s(ss, ci).length > 0 && (r[++ri] = ci);
      }
      return r;
    }
    , next:function(c, ss){
      var is = Ext.DomQuery.is;
      var r = [], ri = -1;
      for (var i = 0, ci; ci = c[i]; i++) {
        var n = next(ci);
        n && is(n, ss) && (r[++ri] = ci);
      }
      return r;
    }
    , prev:function(c, ss){
      var is = Ext.DomQuery.is;
      var r = [], ri = -1;
      for (var i = 0, ci; ci = c[i]; i++) {
        var n = prev(ci);
        n && is(n, ss) && (r[++ri] = ci);
      }
      return r;
    }
    }};
  }
  ();
}

function loadExt(){
  var document_0 = $doc;
  var window_0 = $wnd;
  if ($wnd.GXT) {
    return;
  }
  $wnd.GXT = {};
  $wnd.GXT.Ext = {};
  var Ext = $wnd.GXT.Ext;
  window_0['undefined'] = window_0['undefined'];
  Ext.apply = function(o, c, defaults){
    defaults && Ext.apply(o, defaults);
    if (o && c && typeof c == 'object') {
      for (var p in c) {
        o[p] = c[p];
      }
    }
    return o;
  }
  ;
  var initload = function(){
    var idSeed = 0;
    Ext.apply(Ext, {emptyFn:function(){
    }
    , applyIf:function(o, c){
      if (o && c) {
        for (var p in c) {
          typeof o[p] == 'undefined' && (o[p] = c[p]);
        }
      }
      return o;
    }
    , isArray:function(v){
      return v && typeof v.pop == 'function';
    }
    , extend:function(){
      var io = function(o){
        for (var m_0 in o) {
          this[m_0] = o[m_0];
        }
      }
      ;
      return function(sb, sp, overrides){
        if (typeof sp == 'object') {
          overrides = sp;
          sp = sb;
          sb = function(){
            sp.apply(this, arguments);
          }
          ;
        }
        var F = function(){
        }
        , sbp, spp = sp.prototype;
        F.prototype = spp;
        sbp = sb.prototype = new F;
        sbp.constructor = sb;
        sb.superclass = spp;
        spp.constructor == Object.prototype.constructor && (spp.constructor = sp);
        sb.override = function(o){
          Ext.override(sb, o);
        }
        ;
        sbp.override = io;
        Ext.override(sb, overrides);
        return sb;
      }
      ;
    }
    (), override:function(origclass, overrides){
      if (overrides) {
        var p = origclass.prototype;
        for (var method in overrides) {
          p[method] = overrides[method];
        }
      }
    }
    , getDom:function(el){
      if (!el || !document_0) {
        return null;
      }
      return el.dom?el.dom:typeof el == 'string'?document_0.getElementById(el):el;
    }
    });
  }
  ;
  initload();
  $wnd.GXT.Ext = Ext;
}

--></script>
<script><!--
function loadFormat(){
  var Ext = $wnd.GXT.Ext;
  if (Ext.util) {
    return;
  }
  Ext.util = {};
  Ext.util.Format = function(){
    var trimRe = /^\s+|\s+$/g;
    return {ellipsis:function(value, len){
      if (value && value.length > len) {
        return value.substr(0, len - 3) + '...';
      }
      return value;
    }
    , undef:function(value){
      return value !== undefined?value:'';
    }
    , defaultValue:function(value, defaultValue){
      return value !== undefined && value !== ''?value:defaultValue;
    }
    , htmlEncode:function(value){
      return !value?value:String(value).replace(/&/g, '&amp;').replace(/>/g, '&gt;').replace(/</g, '&lt;').replace(/"/g, '&quot;');
    }
    , htmlDecode:function(value){
      return !value?value:String(value).replace(/&amp;/g, '&').replace(/&gt;/g, '>').replace(/&lt;/g, '<').replace(/&quot;/g, '"');
    }
    , trim:function(value){
      return String(value).replace(trimRe, '');
    }
    , substr:function(value, start, length_0){
      return String(value).substr(start, length_0);
    }
    , lowercase:function(value){
      return String(value).toLowerCase();
    }
    , uppercase:function(value){
      return String(value).toUpperCase();
    }
    , capitalize:function(value){
      return !value?value:value.charAt(0).toUpperCase() + value.substr(1).toLowerCase();
    }
    , call:function(value, fn){
      if (arguments.length > 2) {
        var args = Array.prototype.slice.call(arguments, 2);
        args.unshift(value);
        return eval(fn).apply(window, args);
      }
       else {
        return eval(fn).call(window, value);
      }
    }
    , usMoney:function(v){
      v = Math.round((v - 0) * 100) / 100;
      v = v == Math.floor(v)?v + '.00':v * 10 == Math.floor(v * 10)?v + '0':v;
      v = String(v);
      var ps = v.split('.');
      var whole = ps[0];
      var sub = ps[1]?'.' + ps[1]:'.00';
      var r = /(\d+)(\d{3})/;
      while (r.test(whole)) {
        whole = whole.replace(r, '$1,$2');
      }
      v = whole + sub;
      if (v.charAt(0) == '-') {
        return '-$' + v.substr(1);
      }
      return '$' + v;
    }
    , date:function(v, format){
      if (!v) {
        return '';
      }
      try {
        return $format(($clinit_DateTimeFormat_0() , getFormat_0(format || 'M/d/y', $getDateTimeFormatInfo(($clinit_LocaleInfo() , $clinit_LocaleInfo() , instance_5)))), v, null);
      }
       catch (err) {
        !(v instanceof Date) && (v = new Date(Date.parse(v)));
        return format_0(v.getTime(), format || 'M/d/y');
      }
    }
    , number:function(v, format){
      if (!v) {
        return '';
      }
      try {
        return $format_0(($clinit_NumberFormat() , new NumberFormat_1(format || '#', $getDefaultNative(), true)), v);
      }
       catch (err) {
      }
      return '';
    }
    , decimal:function(v){
      if (!v) {
        return '';
      }
      return $format_0(($clinit_NumberFormat() , !cachedDecimalFormat && (cachedDecimalFormat = new NumberFormat_1('#,##0.###', $getDefaultNative(), false)) , $clinit_NumberFormat() , cachedDecimalFormat), v);
    }
    , currency:function(v){
      if (!v) {
        return '';
      }
      return $format_0(($clinit_NumberFormat() , !cachedCurrencyFormat && (cachedCurrencyFormat = new NumberFormat_1('\xA4#,##0.00;(\xA4#,##0.00)', $getDefaultNative(), false)) , $clinit_NumberFormat() , cachedCurrencyFormat), v);
    }
    , scientific:function(v){
      if (!v) {
        return '';
      }
      return $format_0(($clinit_NumberFormat() , !cachedScientificFormat && (cachedScientificFormat = new NumberFormat_1('#E0', $getDefaultNative(), false)) , $clinit_NumberFormat() , cachedScientificFormat), v);
    }
    , stripTagsRE:/<\/?[^>]+>/gi, stripTags:function(v){
      return !v?v:String(v).replace(this.stripTagsRE, '');
    }
    , stripScriptsRe:/(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)/ig, stripScripts:function(v){
      return !v?v:String(v).replace(this.stripScriptsRe, '');
    }
    , fileSize:function(size){
      if (size < 1024) {
        return size + ' bytes';
      }
       else if (size < 1048576) {
        return Math.round(size * 10 / 1024) / 10 + ' KB';
      }
       else {
        return Math.round(size * 10 / 1048576) / 10 + ' MB';
      }
    }
    , math:function(){
      var fns = {};
      return function(v, a){
        !fns[a] && (fns[a] = new Function('v', 'return v ' + a + ';'));
        return fns[a](v);
      }
      ;
    }
    ()};
  }
  ();
}

function loadTemplate(){
  var Ext = $wnd.GXT.Ext;
  if (Ext.Template) {
    return;
  }
  Ext.Template = function(html){
    var a = arguments;
    if (Ext.isArray(html)) {
      html = html.join('');
    }
     else if (a.length > 1) {
      var buf = [];
      for (var i = 0, len = a.length; i < len; i++) {
        typeof a[i] == 'object'?Ext.apply(this, a[i]):(buf[buf.length] = a[i]);
      }
      html = buf.join('');
    }
    this.html = html;
    this.compiled && this.compile();
  }
  ;
  Ext.Template.prototype = {applyTemplate:function(values){
    if (this.compiled) {
      return this.compiled(values);
    }
    var useF = this.disableFormats !== true;
    var fm = Ext.util.Format, tpl = this;
    var fn = function(m_0, name_0, format, args){
      if (format && useF) {
        if (format.substr(0, 5) == 'this.') {
          return tpl.call(format.substr(5), values[name_0], values);
        }
         else {
          if (args) {
            var re = /^\s*['"](.*)["']\s*$/;
            args = args.split(',');
            for (var i = 0, len = args.length; i < len; i++) {
              args[i] = args[i].replace(re, '$1');
            }
            args = [values[name_0]].concat(args);
          }
           else {
            args = [values[name_0]];
          }
          return fm[format].apply(fm, args);
        }
      }
       else {
        return values[name_0] !== undefined?values[name_0]:'';
      }
    }
    ;
    return this.html.replace(this.re, fn);
  }
  , set:function(html, compile){
    this.html = html;
    this.compiled = null;
    compile && this.compile();
    return this;
  }
  , disableFormats:false, re:/\{([\w-]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?\}/g, compile:function(){
    var fm = Ext.util.Format;
    var useF = this.disableFormats !== true;
    var sep = ($clinit_GXT() , isGecko)?'+':',';
    var fn = function(m_0, name_0, format, args){
      if (format && useF) {
        args = args?',' + args:'';
        if (format.substr(0, 5) != 'this.') {
          format = 'fm.' + format + '(';
        }
         else {
          format = 'this.call("' + format.substr(5) + '", ';
          args = ', values';
        }
      }
       else {
        args = '';
        format = "(values['" + name_0 + "'] == undefined ? '' : ";
      }
      return "'" + sep + format + "values['" + name_0 + "']" + args + ')' + sep + "'";
    }
    ;
    var body;
    if (isGecko) {
      body = "this.compiled = function(values){ return '" + this.html.replace(/\\/g, '\\\\').replace(/(\r\n|\n)/g, '\\n').replace(/'/g, "\\'").replace(this.re, fn) + "';};";
    }
     else {
      body = ["this.compiled = function(values){ return ['"];
      body.push(this.html.replace(/\\/g, '\\\\').replace(/(\r\n|\n)/g, '\\n').replace(/'/g, "\\'").replace(this.re, fn));
      body.push("'].join('');};");
      body = body.join('');
    }
    eval(body);
    return this;
  }
  , call:function(fnName, value, allValues){
    return this[fnName](value, allValues);
  }
  , insertFirst:function(el, values, returnElement){
    return this.doInsert('afterBegin', el, values, returnElement);
  }
  , insertBefore:function(el, values, returnElement){
    return this.doInsert('beforeBegin', el, values, returnElement);
  }
  , insertAfter:function(el, values, returnElement){
    return this.doInsert('afterEnd', el, values, returnElement);
  }
  , append:function(el, values, returnElement){
    return this.doInsert('beforeEnd', el, values, returnElement);
  }
  , doInsert:function(where, el, values, returnEl){
    el = Ext.getDom(el);
    var newNode = Ext.DomHelper.insertHtml(where, el, this.applyTemplate(values));
    return returnEl?Ext.get(newNode, true):newNode;
  }
  , overwrite:function(el, values, returnElement){
    el = Ext.getDom(el);
    el.innerHTML = this.applyTemplate(values);
    return returnElement?Ext.get(el.firstChild, true):el.firstChild;
  }
  };
  Ext.DomHelper.Template = Ext.Template;
}

function $equals(this$static, obj){
  var entry, entry$iterator, otherKey, otherMap, otherValue;
  if (obj === this$static) {
    return true;
  }
  if (!instanceOf(obj, Q$Map)) {
    return false;
  }
  otherMap = dynamicCast(obj, Q$Map);
  if (this$static.size_1() != otherMap.size_1()) {
    return false;
  }
  for (entry$iterator = otherMap.entrySet().iterator_0(); entry$iterator.hasNext();) {
    entry = dynamicCast(entry$iterator.next_0(), Q$Map$Entry);
    otherKey = entry.getKey();
    otherValue = entry.getValue();
    if (!this$static.containsKey(otherKey)) {
      return false;
    }
    if (!equalsWithNullCheck(otherValue, this$static.get_0(otherKey))) {
      return false;
    }
  }
  return true;
}

function $hashCode(this$static){
  var entry, entry$iterator, hashCode;
  hashCode = 0;
  for (entry$iterator = this$static.entrySet().iterator_0(); entry$iterator.hasNext();) {
    entry = dynamicCast(entry$iterator.next_0(), Q$Map$Entry);
    hashCode += entry.hashCode$();
    hashCode = ~~hashCode;
  }
  return hashCode;
}

function $implFindEntry(this$static, key, remove){
  var entry, iter, k;
  for (iter = this$static.entrySet().iterator_0(); iter.hasNext();) {
    entry = dynamicCast(iter.next_0(), Q$Map$Entry);
    k = entry.getKey();
    if (key == null?k == null:equals__devirtual$(key, k)) {
      if (remove) {
        entry = new MapEntryImpl_0(entry.getKey(), entry.getValue());
        iter.remove_3();
      }
      return entry;
    }
  }
  return null;
}

function $keySet(this$static){
  var entrySet;
  entrySet = this$static.entrySet();
  return new AbstractMap$1_0(this$static, entrySet);
}

function $toString_0(this$static){
  var comma, entry, iter, s;
  s = '{';
  comma = false;
  for (iter = this$static.entrySet().iterator_0(); iter.hasNext();) {
    entry = dynamicCast(iter.next_0(), Q$Map$Entry);
    comma?(s += ', '):(comma = true);
    s += '' + entry.getKey();
    s += '=';
    s += '' + entry.getValue();
  }
  return s + '}';
}

defineSeed(68, 1, makeCastMap([Q$Map]));
_.containsKey = function containsKey(key){
  return !!$implFindEntry(this, key, false);
}
;
_.equals$ = function equals_3(obj){
  return $equals(this, obj);
}
;
_.get_0 = function get(key){
  var entry;
  entry = $implFindEntry(this, key, false);
  return !entry?null:entry.getValue();
}
;
_.hashCode$ = function hashCode_3(){
  return $hashCode(this);
}
;
_.isEmpty = function isEmpty(){
  return this.size_1() == 0;
}
;
_.keySet = function keySet(){
  return $keySet(this);
}
;
_.put = function put(key, value){
  throw new UnsupportedOperationException_1('Put not supported on this map');
}
;
_.remove_1 = function remove_1(key){
  var entry;
  entry = $implFindEntry(this, key, true);
  return !entry?null:entry.getValue();
}
;
_.size_1 = function size_0(){
  return this.entrySet().size_1();
}
;
_.toString$ = function toString_7(){
  return $toString_0(this);
}
;
function $containsKey(this$static, key){
  return $containsKey_0(this$static.map, '' + key);
}

function $get(this$static, key){
  return this$static.map['' + key];
}

function $put(this$static, key, value){
  return $put_0(this$static, dynamicCast(key, Q$String), value);
}

function $put_0(this$static, key, value){
  return $put_1(this$static.map, key, value);
}

function $putAll(this$static, m_0){
  var s, s$iterator;
  for (s$iterator = $keySet_0((new FastMap$2_0(m_0)).this$0.map).iterator_0(); s$iterator.i < s$iterator.this$0_0.size_1();) {
    s = dynamicCast($next_3(s$iterator), Q$String);
    $put_1(this$static.map, s, m_0.map['' + s]);
  }
}

function $remove_0(this$static, key){
  return $remove_1(this$static.map, dynamicCast(key, Q$String));
}

function FastMap_0(){
  this.map = {};
}

defineSeed(67, 68, makeCastMap([Q$FastMap, Q$Serializable, Q$Map]), FastMap_0);
_.containsKey = function containsKey_0(key){
  return $containsKey(this, key);
}
;
_.entrySet = function entrySet_0(){
  return new FastMap$1_0(this);
}
;
_.get_0 = function get_0(key){
  return this.map['' + key];
}
;
_.isEmpty = function isEmpty_0(){
  return $size(this.map) == 0;
}
;
_.keySet = function keySet_0(){
  return new FastMap$2_0(this);
}
;
_.put = function put_0(key, value){
  return $put_0(this, dynamicCast(key, Q$String), value);
}
;
_.put_0 = function put_1(key, value){
  return $put_1(this.map, key, value);
}
;
_.remove_1 = function remove_2(key){
  return $remove_0(this, key);
}
;
_.size_1 = function size_1(){
  return $size(this.map);
}
;
_.map = null;
function $advanceToFind(iter, o){
  var t;
  while (iter.hasNext()) {
    t = iter.next_0();
    if (o == null?t == null:equals__devirtual$(o, t)) {
      return iter;
    }
  }
  return null;
}

function $toString_1(this$static){
  var comma, iter, sb, value;
  sb = new StringBuffer_0;
  comma = null;
  sb.impl.string += '[';
  iter = this$static.iterator_0();
  while (iter.hasNext()) {
    comma != null?($append_1(sb.impl, comma) , sb):(comma = ', ');
    value = iter.next_0();
    $append_1(sb.impl, value === this$static?'(this Collection)':'' + value);
  }
  sb.impl.string += ']';
  return sb.impl.string;
}

defineSeed(71, 1, makeCastMap([Q$Iterable]));
_.add_0 = function add_0(o){
  throw new UnsupportedOperationException_1('Add not supported on this collection');
}
;
_.contains_0 = function contains(o){
  var iter;
  iter = $advanceToFind(this.iterator_0(), o);
  return !!iter;
}
;
_.isEmpty = function isEmpty_1(){
  return this.size_1() == 0;
}
;
_.remove_2 = function remove_3(o){
  var iter;
  iter = $advanceToFind(this.iterator_0(), o);
  if (iter) {
    iter.remove_3();
    return true;
  }
   else {
    return false;
  }
}
;
_.toArray = function toArray(){
  return this.toArray_0(initDim(_3Ljava_lang_Object_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$Object, this.size_1(), 0));
}
;
_.toArray_0 = function toArray_0(a){
  var i, it, size;
  size = this.size_1();
  a.length < size && (a = createFrom(a, size));
  it = this.iterator_0();
  for (i = 0; i < size; ++i) {
    setCheck(a, i, it.next_0());
  }
  a.length > size && setCheck(a, size, null);
  return a;
}
;
_.toString$ = function toString_8(){
  return $toString_1(this);
}
;
defineSeed(70, 71, makeCastMap([Q$Iterable, Q$Set]));
_.equals$ = function equals_4(o){
  var iter, other, otherItem;
  if (o === this) {
    return true;
  }
  if (!instanceOf(o, Q$Set)) {
    return false;
  }
  other = dynamicCast(o, Q$Set);
  if (other.size_1() != this.size_1()) {
    return false;
  }
  for (iter = other.iterator_0(); iter.hasNext();) {
    otherItem = iter.next_0();
    if (!this.contains_0(otherItem)) {
      return false;
    }
  }
  return true;
}
;
_.hashCode$ = function hashCode_4(){
  var hashCode, iter, next;
  hashCode = 0;
  for (iter = this.iterator_0(); iter.hasNext();) {
    next = iter.next_0();
    if (next != null) {
      hashCode += hashCode__devirtual$(next);
      hashCode = ~~hashCode;
    }
  }
  return hashCode;
}
;
function FastMap$1_0(this$0){
  this.this$0 = this$0;
}

defineSeed(69, 70, makeCastMap([Q$Iterable, Q$Set]), FastMap$1_0);
_.contains_0 = function contains_0(key){
  var s, value;
  s = dynamicCast(key, Q$Map$Entry);
  value = $get(this.this$0, s.getKey());
  return value == null?null == s.getValue():equals__devirtual$(value, s.getValue());
}
;
_.iterator_0 = function iterator_0(){
  var custom;
  custom = new FastMap$1$1_0(this);
  return custom;
}
;
_.size_1 = function size_2(){
  return $size(this.this$0.map);
}
;
_.this$0 = null;
function FastMap$1$1_0(this$1){
  this.this$1 = this$1;
  this.keys = $keySet_0((new FastMap$2_0(this.this$1.this$0)).this$0.map).iterator_0();
}

defineSeed(72, 1, {}, FastMap$1$1_0);
_.hasNext = function hasNext(){
  return $hasNext_0(this.keys);
}
;
_.next_0 = function next_0(){
  var key;
  return key = dynamicCast($next_3(this.keys), Q$String) , new FastMap$FastMapEntry_0(key, $get(this.this$1.this$0, key));
}
;
_.remove_3 = function remove_4(){
  $remove_21(this.keys);
}
;
_.this$1 = null;
function FastMap$2_0(this$0){
  this.this$0 = this$0;
}

defineSeed(73, 70, makeCastMap([Q$Iterable, Q$Set]), FastMap$2_0);
_.contains_0 = function contains_1(key){
  return $containsKey(this.this$0, key);
}
;
_.iterator_0 = function iterator_1(){
  return $keySet_0(this.this$0.map).iterator_0();
}
;
_.size_1 = function size_3(){
  return $size(this.this$0.map);
}
;
_.this$0 = null;
function $equalsWithNullCheck(obj1, obj2){
  return maskUndefined(obj1) === maskUndefined(obj2) || obj1 != null && equals__devirtual$(obj1, obj2);
}

function FastMap$FastMapEntry_0(key, value){
  this.key = key;
  this.value_0 = value;
}

defineSeed(74, 1, makeCastMap([Q$Map$Entry]), FastMap$FastMapEntry_0);
_.equals$ = function equals_5(a){
  var s;
  if (instanceOf(a, Q$Map$Entry)) {
    s = dynamicCast(a, Q$Map$Entry);
    if ($equalsWithNullCheck(this.key, s.getKey()) && $equalsWithNullCheck(this.value_0, s.getValue())) {
      return true;
    }
  }
  return false;
}
;
_.getKey = function getKey(){
  return this.key;
}
;
_.getValue = function getValue(){
  return this.value_0;
}
;
_.hashCode$ = function hashCode_5(){
  var keyHash, valueHash;
  keyHash = 0;
  valueHash = 0;
  this.key != null && (keyHash = getHashCode_0(this.key));
  this.value_0 != null && (valueHash = hashCode__devirtual$(this.value_0));
  return keyHash ^ valueHash;
}
;
_.setValue = function setValue(object){
  var old;
  old = this.value_0;
  this.value_0 = object;
  return old;
}
;
_.key = null;
_.value_0 = null;
function equals__devirtual$(this$static, other){
  var maybeJsoInvocation;
  return maybeJsoInvocation = this$static , isJavaObject(maybeJsoInvocation)?maybeJsoInvocation.equals$(other):maybeJsoInvocation === other;
}

function hashCode__devirtual$(this$static){
  var maybeJsoInvocation;
  return maybeJsoInvocation = this$static , isJavaObject(maybeJsoInvocation)?maybeJsoInvocation.hashCode$():getHashCode(maybeJsoInvocation);
}

function toString__devirtual$(this$static){
  var maybeJsoInvocation;
  return maybeJsoInvocation = this$static , isJavaObject(maybeJsoInvocation)?maybeJsoInvocation.toString$():maybeJsoInvocation.toString?maybeJsoInvocation.toString():'[JavaScriptObject]';
}

function $containsKey_0(this$static, key){
  return this$static.hasOwnProperty(key);
}

function $keySet_0(this$static){
  var s = new ArrayList_0;
  for (var key in this$static) {
    if (!this$static.hasOwnProperty(key))
      continue;
    s.add_0(key);
  }
  return s;
}

function $put_1(this$static, key, value){
  var previous = this$static[key];
  this$static[key] = value;
  return previous;
}

function $remove_1(this$static, key){
  var previous = this$static[key];
  delete this$static[key];
  return previous;
}

function $size(this$static){
  var count = 0;
  for (var key in this$static) {
    this$static.hasOwnProperty(key) && ++count;
  }
  return count;
}

function $add_1(this$static, s){
  return $put(this$static.map, s, '') == null;
}

function $remove_2(this$static, o){
  var s;
  s = dynamicCast($remove_0(this$static.map, o), Q$String);
  return s != null && $equals_2(s, '');
}

function FastSet_0(){
  this.map = new FastMap_0;
}

defineSeed(77, 70, makeCastMap([Q$Serializable, Q$Iterable, Q$Set]), FastSet_0);
_.add_0 = function add_1(s){
  return $add_1(this, dynamicCast(s, Q$String));
}
;
_.contains_0 = function contains_2(o){
  return $containsKey(this.map, o);
}
;
_.isEmpty = function isEmpty_2(){
  return $size(this.map.map) == 0;
}
;
_.iterator_0 = function iterator_2(){
  return $keySet_0((new FastMap$2_0(this.map)).this$0.map).iterator_0();
}
;
_.remove_2 = function remove_5(o){
  return $remove_2(this, o);
}
;
_.size_1 = function size_4(){
  return $size(this.map.map);
}
;
_.map = null;
function $clinit_Template(){
  $clinit_Template = nullMethod;
  init();
  loadExt();
  loadFormat();
  loadDomHelper();
  loadTemplate();
}

function $applyTemplate(this$static, values){
  return applyInternal(this$static.t, $getValues(values));
}

function Template_0(html){
  $clinit_Template();
  this.t = new $wnd.GXT.Ext.Template(html);
}

function applyInternal(t, values){
  return t.applyTemplate(values);
}

defineSeed(78, 1, {}, Template_0);
_.t = null;
function $clinit_XDOM(){
  $clinit_XDOM = nullMethod;
  init();
}

function create(html){
  $clinit_XDOM();
  var div, firstChild;
  div = $doc.createElement('div');
  $setInnerHTML(div, html);
  firstChild = $getFirstChildElement(div);
  return firstChild?firstChild:div;
}

function getBody(){
  $clinit_XDOM();
  return $doc.body || $doc.documentElement;
}

function getBodyScrollLeft(){
  $clinit_XDOM();
  if (($clinit_GXT() , isIE_0) && isStrict) {
    return $doc.documentElement.scrollLeft || $doc.body.scrollLeft || 0;
  }
   else {
    return $wnd.pageXOffset || $doc.body.scrollLeft || 0;
  }
}

function getBodyScrollTop(){
  $clinit_XDOM();
  if (($clinit_GXT() , isIE_0) && isStrict) {
    return $doc.documentElement.scrollTop || $doc.body.scrollTop || 0;
  }
   else {
    return $wnd.pageYOffset || $doc.body.scrollTop || 0;
  }
}

function getDocument(){
  $clinit_XDOM();
  return $doc;
}

function getScrollBarWidthInternal(){
  $clinit_XDOM();
  var scr = null;
  var inn = null;
  var wNoScroll = 0;
  var wScroll = 0;
  scr = $doc.createElement('div');
  scr.style.position = 'absolute';
  scr.style.top = '-1000px';
  scr.style.left = '-1000px';
  scr.style.width = '100px';
  scr.style.height = '100px';
  scr.style.overflow = 'hidden';
  inn = $doc.createElement('div');
  inn.style.height = '50px';
  inn.style.width = '100%';
  scr.appendChild(inn);
  $doc.body.appendChild(scr);
  wNoScroll = inn.offsetWidth;
  scr.style.overflow = 'scroll';
  wScroll = inn.offsetWidth;
  wNoScroll == wScroll && (wScroll = scr.clientWidth);
  $doc.body.removeChild(scr);
  return wNoScroll - wScroll + 2;
}

function getViewportHeight(){
  $clinit_XDOM();
  if ($clinit_GXT() , isIE_0) {
    return isStrict?$doc.documentElement.clientHeight:$doc.body.clientHeight;
  }
   else {
    return $wnd.self.innerHeight;
  }
}

function getViewportWidth(){
  $clinit_XDOM();
  if ($clinit_GXT() , isIE_0) {
    return isStrict?$doc.documentElement.clientWidth:$doc.body.clientWidth;
  }
   else {
    return $wnd.self.innerWidth;
  }
}

var autoId = 0, bodyEl_0 = null, scrollBarWidth = -1, zIndexId = 1000;
function $checkCamelCache(this$static, l_0){
  var i, list, s, t;
  list = new ArrayList_2(l_0);
  for (i = 0; i < list.size_0; ++i) {
    s = (checkIndex(i, list.size_0) , dynamicCast(list.array[i], Q$String));
    t = dynamicCast($get(this$static.camelCache, s), Q$String);
    if (t == null) {
      t = camelize($getPropertyName(s));
      $put(this$static.camelCache, s, t);
    }
    $set_11(list, i, t);
  }
  return list;
}

function $checkHyphenCache(this$static, l_0){
  var i, list, s, t;
  list = new ArrayList_2(l_0);
  for (i = 0; i < list.size_0; ++i) {
    s = (checkIndex(i, list.size_0) , dynamicCast(list.array[i], Q$String));
    t = dynamicCast($get(this$static.hyphenCache, s), Q$String);
    if (t == null) {
      t = $getPropertyName(s).replace(/([A-Z])/g, '-$1').toLowerCase();
      $put(this$static.hyphenCache, s, t);
    }
    $set_11(list, i, t);
  }
  return list;
}

function $getComputedStyle(elem, orginals, names, names2, pseudo){
  var cStyle;
  var map = new FastMap_0;
  var size = orginals.size_1();
  for (var i = 0; i < size; i++) {
    var orginal = orginals.get_2(i);
    var name2 = names2.get_2(i);
    var v = elem.style[name2];
    if (v) {
      map.put_0(orginal, String(v));
      continue;
    }
    var name_0 = names.get_2(i);
    !cStyle && (cStyle = $doc.defaultView.getComputedStyle(elem, pseudo));
    map.put_0(orginal, cStyle?String(cStyle.getPropertyValue(name_0)):null);
  }
  return map;
}

function $getPropertyName(name_0){
  if ($equals_2('float', name_0)) {
    return 'cssFloat';
  }
  return name_0;
}

function $getStyleAttribute_1(this$static, elem, names){
  return $getComputedStyle(elem, names, $checkHyphenCache(this$static, names), $checkCamelCache(this$static, names), null);
}

function $setStyleAttribute_0(this$static, elem, name_0, value){
  elem.style[dynamicCast($get_6($checkCamelCache(this$static, new Arrays$ArrayList_0(initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, [name_0]))), 0), Q$String)] = value == null?'':'' + value;
}

function ComputedStyleImpl_0(){
  this.camelCache = new FastMap_0;
  this.hyphenCache = new FastMap_0;
}

defineSeed(80, 1, {}, ComputedStyleImpl_0);
function $get_0(this$static, property){
  var end, o, obj, p, start;
  if (property != null && property.indexOf('.') != -1) {
    return getNestedValue(this$static, new ArrayList_2(new Arrays$ArrayList_0($split(property, '\\.', 0))));
  }
  if (!this$static.map) {
    return null;
  }
  start = property.indexOf('[');
  end = property.indexOf(']');
  obj = null;
  if (start > -1 && end > -1) {
    o = $get_1(this$static.map, property.substr(0, start - 0));
    p = property.substr(start + 1, end - (start + 1));
    instanceOf(o, Q$Object_$1)?(obj = dynamicCast(o, Q$Object_$1)[valueOf(__parseAndValidateInt(p, 10)).value_0]):instanceOf(o, Q$List)?(obj = dynamicCast(o, Q$List).get_2(valueOf(__parseAndValidateInt(p, 10)).value_0)):instanceOf(o, Q$Map) && (obj = dynamicCast(o, Q$Map).get_0(p));
  }
   else {
    obj = $get_1(this$static.map, property);
  }
  return obj;
}

function $set(this$static, property, value){
  var end, i, list, map, o, oa, old, p, start;
  if (property != null && property.indexOf('.') != -1) {
    return setNestedValue(this$static, new ArrayList_2(new Arrays$ArrayList_0($split(property, '\\.', 0))), value);
  }
  !this$static.map && (this$static.map = new RpcMap_0);
  start = property.indexOf('[');
  end = property.indexOf(']');
  if (start > -1 && end > -1) {
    o = $get_0(this$static, property.substr(0, start - 0));
    p = property.substr(start + 1, end - (start + 1));
    if (instanceOf(o, Q$Object_$1)) {
      i = valueOf(__parseAndValidateInt(p, 10)).value_0;
      oa = dynamicCast(o, Q$Object_$1);
      old = oa[i];
      setCheck(oa, i, value);
      return old;
    }
     else if (instanceOf(o, Q$List)) {
      i = valueOf(__parseAndValidateInt(p, 10)).value_0;
      list = dynamicCast(o, Q$List);
      return list.set_0(i, value);
    }
     else if (instanceOf(o, Q$Map)) {
      map = dynamicCast(o, Q$Map);
      return map.put(p, value);
    }
     else {
      return null;
    }
  }
   else {
    return $put_2(this$static.map, property, value);
  }
}

defineSeed(81, 1, makeCastMap([Q$ModelData, Q$Serializable]));
_.get_1 = function get_1(property){
  return $get_0(this, property);
}
;
_.getProperties = function getProperties(){
  var newMap;
  newMap = new FastMap_0;
  !!this.map && $putAll(newMap, this.map.map);
  return newMap;
}
;
_.set = function set(property, value){
  return $set(this, property, value);
}
;
_.map = null;
function getNestedValue(model, paths){
  var obj, tmp;
  obj = model.get_1((checkIndex(0, paths.size_0) , dynamicCast(paths.array[0], Q$String)));
  if (paths.size_0 == 1) {
    return obj;
  }
   else if (obj != null && instanceOf(obj, Q$ModelData)) {
    tmp = new ArrayList_2(paths);
    $remove_14(tmp, 0);
    return getNestedValue(dynamicCast(obj, Q$ModelData), tmp);
  }
  return null;
}

function setNestedValue(model, paths, value){
  var index, m_0, path;
  index = paths.size_0 - 1;
  path = (checkIndex(index, paths.size_0) , dynamicCast(paths.array[index], Q$String));
  $remove_14(paths, index);
  m_0 = dynamicCast(getNestedValue(model, paths), Q$ModelData);
  return m_0.set(path, value);
}

function $get_1(this$static, key){
  return $get(this$static.map, key);
}

function $put_2(this$static, key, value){
  return $put_0(this$static.map, key, value);
}

function RpcMap_0(){
  this.map = new FastMap_0;
}

defineSeed(83, 1, makeCastMap([Q$RpcMap, Q$Serializable]), RpcMap_0);
_.equals$ = function equals_6(o){
  if (instanceOf(o, Q$RpcMap)) {
    return $equals(this.map, dynamicCast(o, Q$RpcMap).map);
  }
  return false;
}
;
_.hashCode$ = function hashCode_6(){
  return $hashCode(this.map);
}
;
_.toString$ = function toString_9(){
  return $toString_0(this.map);
}
;
function $setType(this$static, type){
  this$static.type_0 = type;
}

function BaseEvent_0(){
}

defineSeed(84, 1, {}, BaseEvent_0);
_.cancelled = false;
_.type_0 = null;
function $cancelBubble(this$static){
  !!this$static.event_0 && (this$static.event_0.cancelBubble = true , undefined);
}

function $getClientX(this$static){
  if (this$static.event_0) {
    return this$static.event_0.clientX || 0;
  }
  return -1;
}

function $getClientY(this$static){
  if (this$static.event_0) {
    return this$static.event_0.clientY || 0;
  }
  return -1;
}

function $getTargetEl(this$static){
  if (this$static.event_0) {
    !this$static.el && (this$static.el = new El_0(!this$static.event_0?null:this$static.event_0.target));
    return this$static.el;
  }
  return null;
}

function $getXY_0(this$static){
  if (this$static.event_0) {
    return new Point_0($getClientX(this$static), $getClientY(this$static));
  }
  return null;
}

function $isSpecialKey(k){
  return k >= 33 && k <= 40 || k == 27 || k == 13 || k == 9 || k == 8 || k == 17 || k == 16 || k == 18 || k >= 19 && k <= 20 || k >= 45 && k <= 46;
}

function $preventDefault(this$static){
  !!this$static.event_0 && (this$static.event_0.preventDefault() , undefined);
}

function $setEvent(this$static, event_0){
  this$static.event_0 = event_0;
}

--></script>
<script><!--
function $within(this$static, element){
  var target;
  if (!!this$static.event_0 && !!element && element.nodeType == 1) {
    target = this$static.event_0.target;
    if (is_2(target)) {
      return element.contains(target);
    }
  }
  return false;
}

defineSeed(87, 84, {});
_.el = null;
_.event_0 = null;
function ComponentEvent_0(component){
  this.component = component;
}

function ComponentEvent_1(component, event_0){
  this.event_0 = event_0;
  this.component = component;
}

defineSeed(86, 87, makeCastMap([Q$ComponentEvent]), ComponentEvent_0, ComponentEvent_1);
_.component = null;
function BoxComponentEvent_0(component, event_0){
  ComponentEvent_1.call(this, component, event_0);
  this.event_0 = event_0;
}

defineSeed(85, 86, makeCastMap([Q$ComponentEvent]), BoxComponentEvent_0);
function ButtonEvent_0(button){
  this.component = button;
}

defineSeed(88, 85, makeCastMap([Q$ButtonEvent, Q$ComponentEvent]), ButtonEvent_0);
function ClickRepeaterEvent_0(el){
  this.el = el;
}

defineSeed(89, 84, makeCastMap([Q$ClickRepeaterEvent]), ClickRepeaterEvent_0);
_.el = null;
function ComponentManagerEvent_0(){
}

defineSeed(90, 84, {}, ComponentManagerEvent_0);
function ContainerEvent_0(container){
  ContainerEvent_1.call(this, container, null);
}

function ContainerEvent_1(container, component){
  this.component = container;
  this.container = container;
  this.item = component;
}

defineSeed(91, 85, makeCastMap([Q$ComponentEvent, Q$ContainerEvent]), ContainerEvent_1);
_.container = null;
_.item = null;
function EventType_0(){
  this.id_0 = '' + count_0++;
}

function EventType_1(eventCode){
  EventType_0.call(this);
  this.eventCode = eventCode;
}

defineSeed(92, 1, makeCastMap([Q$EventType, Q$Serializable]), EventType_0, EventType_1);
_.eventCode = -1;
_.id_0 = null;
var count_0 = 0;
function $clinit_Events(){
  $clinit_Events = nullMethod;
  Activate = new EventType_0;
  Add = new EventType_0;
  Adopt = new EventType_0;
  new EventType_0;
  AfterLayout = new EventType_0;
  new EventType_0;
  Attach = new EventType_0;
  AutoHide = new EventType_0;
  BeforeAdd = new EventType_0;
  BeforeAdopt = new EventType_0;
  new EventType_0;
  new EventType_0;
  new EventType_0;
  new EventType_0;
  new EventType_0;
  BeforeCollapse = new EventType_0;
  new EventType_0;
  new EventType_0;
  BeforeExpand = new EventType_0;
  BeforeHide = new EventType_0;
  BeforeLayout = new EventType_0;
  new EventType_0;
  BeforeOrphan = new EventType_0;
  new EventType_0;
  BeforeRemove = new EventType_0;
  BeforeRender = new EventType_0;
  BeforeSelect = new EventType_0;
  BeforeShow = new EventType_0;
  new EventType_0;
  BeforeStateRestore = new EventType_0;
  new EventType_0;
  new EventType_0;
  new EventType_0;
  Blur = new EventType_0;
  new EventType_0;
  BrowserEvent = new EventType_0;
  new EventType_0;
  new EventType_0;
  new EventType_0;
  new EventType_0;
  new EventType_0;
  Change = new EventType_0;
  new EventType_0;
  new EventType_0;
  new EventType_0;
  new EventType_0;
  Collapse = new EventType_0;
  new EventType_0;
  new EventType_0;
  new EventType_0;
  new EventType_0;
  new EventType_0;
  Deactivate = new EventType_0;
  Detach = new EventType_0;
  Disable = new EventType_0;
  new EventType_0;
  new EventType_0;
  new EventType_0;
  new EventType_0;
  new EventType_0;
  new EventType_0;
  new EventType_0;
  new EventType_0;
  new EventType_0;
  EffectCancel = new EventType_0;
  EffectComplete = new EventType_0;
  EffectStart = new EventType_0;
  Enable = new EventType_0;
  new EventType_0;
  Expand = new EventType_0;
  Focus = new EventType_0;
  new EventType_0;
  new EventType_0;
  new EventType_0;
  new EventType_0;
  new EventType_0;
  new EventType_0;
  Hide = new EventType_0;
  Invalid = new EventType_0;
  KeyDown = new EventType_0;
  KeyPress = new EventType_0;
  KeyUp = new EventType_0;
  new EventType_0;
  Maximize = new EventType_0;
  MenuHide = new EventType_0;
  MenuShow = new EventType_0;
  Minimize = new EventType_0;
  Move = new EventType_0;
  OnBlur = new EventType_1(4096);
  OnChange = new EventType_1(1024);
  OnClick = new EventType_1(1);
  OnContextMenu = new EventType_1(262144);
  OnDoubleClick = new EventType_1(2);
  OnError = new EventType_1(65536);
  OnFocus = new EventType_1(2048);
  OnKeyDown = new EventType_1(128);
  OnKeyPress = new EventType_1(256);
  OnKeyUp = new EventType_1(512);
  OnLoad = new EventType_1(32768);
  OnLoseCapture = new EventType_1(8192);
  OnMouseDown = new EventType_1(4);
  OnMouseMove = new EventType_1(64);
  OnMouseOut = new EventType_1(32);
  OnMouseOver = new EventType_1(16);
  OnMouseUp = new EventType_1(8);
  OnMouseWheel = new EventType_1(131072);
  OnPaste = new EventType_1(524288);
  OnScroll = new EventType_1(16384);
  new EventType_0;
  Orphan = new EventType_0;
  new EventType_0;
  new EventType_0;
  new EventType_0;
  Register = new EventType_0;
  Remove = new EventType_0;
  Render = new EventType_0;
  Resize = new EventType_0;
  new EventType_0;
  new EventType_0;
  new EventType_0;
  new EventType_0;
  new EventType_0;
  new EventType_0;
  new EventType_0;
  new EventType_0;
  Scroll = new EventType_0;
  Select_0 = new EventType_0;
  new EventType_0;
  new EventType_0;
  Show = new EventType_0;
  new EventType_0;
  SpecialKey = new EventType_0;
  new EventType_0;
  StateChange = new EventType_0;
  StateRestore = new EventType_0;
  new EventType_0;
  new EventType_0;
  new EventType_0;
  new EventType_0;
  new EventType_0;
  new EventType_0;
  Unregister = new EventType_0;
  new EventType_0;
  Valid = new EventType_0;
  new EventType_0;
  new EventType_0;
  new EventType_0;
  new EventType_0;
  browserEvents = new FastMap_0;
  $put(browserEvents, '4096', OnBlur);
  $put(browserEvents, '1024', OnChange);
  $put(browserEvents, '1', OnClick);
  $put(browserEvents, '262144', OnContextMenu);
  $put(browserEvents, '2', OnDoubleClick);
  $put(browserEvents, '65536', OnError);
  $put(browserEvents, '2048', OnFocus);
  $put(browserEvents, '128', OnKeyDown);
  $put(browserEvents, '256', OnKeyPress);
  $put(browserEvents, '512', OnKeyUp);
  $put(browserEvents, '32768', OnLoad);
  $put(browserEvents, '8192', OnLoseCapture);
  $put(browserEvents, '4', OnMouseDown);
  $put(browserEvents, '8', OnMouseUp);
  $put(browserEvents, '16', OnMouseOver);
  $put(browserEvents, '32', OnMouseOut);
  $put(browserEvents, '64', OnMouseMove);
  $put(browserEvents, '131072', OnMouseWheel);
  $put(browserEvents, '524288', OnPaste);
  $put(browserEvents, '16384', OnScroll);
}

function lookupBrowserEvent(browserEventType){
  $clinit_Events();
  var type;
  type = dynamicCast($get(browserEvents, '' + browserEventType), Q$EventType);
  return type;
}

var Activate, Add, Adopt, AfterLayout, Attach, AutoHide, BeforeAdd, BeforeAdopt, BeforeCollapse, BeforeExpand, BeforeHide, BeforeLayout, BeforeOrphan, BeforeRemove, BeforeRender, BeforeSelect, BeforeShow, BeforeStateRestore, Blur, BrowserEvent, Change, Collapse, Deactivate, Detach, Disable, EffectCancel, EffectComplete, EffectStart, Enable, Expand, Focus, Hide, Invalid, KeyDown, KeyPress, KeyUp, Maximize, MenuHide, MenuShow, Minimize, Move, OnBlur, OnChange, OnClick, OnContextMenu, OnDoubleClick, OnError, OnFocus, OnKeyDown, OnKeyPress, OnKeyUp, OnLoad, OnLoseCapture, OnMouseDown, OnMouseMove, OnMouseOut, OnMouseOver, OnMouseUp, OnMouseWheel, OnPaste, OnScroll, Orphan, Register, Remove, Render, Resize, Scroll, Select_0, Show, SpecialKey, StateChange, StateRestore, Unregister, Valid, browserEvents;
function FieldEvent_0(field){
  this.component = field;
}

function FieldEvent_1(field, event_0){
  this.component = field;
  this.event_0 = event_0;
}

defineSeed(94, 85, makeCastMap([Q$ComponentEvent]), FieldEvent_0, FieldEvent_1);
function FxEvent_0(){
}

defineSeed(95, 84, makeCastMap([Q$FxEvent]), FxEvent_0);
function IconButtonEvent_0(iconButton, event_0){
  this.component = iconButton;
  this.event_0 = event_0;
}

defineSeed(96, 85, makeCastMap([Q$ComponentEvent, Q$IconButtonEvent]), IconButtonEvent_0);
function LayoutEvent_0(layout){
  this.layout = layout;
}

defineSeed(97, 84, makeCastMap([Q$LayoutEvent]), LayoutEvent_0);
_.layout = null;
function MenuEvent_0(menu){
  ContainerEvent_0.call(this, menu);
}

function MenuEvent_1(menu, component){
  ContainerEvent_1.call(this, menu, component);
}

defineSeed(98, 91, makeCastMap([Q$ComponentEvent, Q$ContainerEvent, Q$MenuEvent]), MenuEvent_0, MenuEvent_1);
function PreviewEvent_0(){
}

defineSeed(99, 87, {}, PreviewEvent_0);
function $handleEvent(this$static, e){
  var type;
  type = e.type_0;
  type == ($clinit_Events() , Select_0) && this$static.componentSelected(e);
}

defineSeed(100, 1, makeCastMap([Q$Listener]));
_.handleEvent = function handleEvent(e){
  $handleEvent(this, dynamicCast(e, Q$ComponentEvent));
}
;
function StateEvent_0(){
}

defineSeed(101, 84, {}, StateEvent_0);
function ToolBarEvent_0(toolBar){
  ContainerEvent_0.call(this, toolBar);
}

function ToolBarEvent_1(toolBar, item){
  ContainerEvent_1.call(this, toolBar, item);
}

defineSeed(102, 91, makeCastMap([Q$ComponentEvent, Q$ContainerEvent]), ToolBarEvent_0, ToolBarEvent_1);
defineSeed(103, 1, {});
_.onStart = function onStart(){
}
;
_.el = null;
function $onComplete(this$static){
  $unwrap(this$static.wrapEl, this$static.el.dom_0, this$static.oBounds);
  $setStyleAttribute(this$static.el, 'marginTop', this$static.marginTop);
  $setStyleAttribute(this$static.el, 'marginLeft', this$static.marginLeft);
  $setStyleAttribute(this$static.el, 'overflow', this$static.overflow_0);
}

function $onUpdate(this$static, progress){
  var v;
  v = round_int(this$static.from + (this$static.to - this$static.from) * progress);
  this$static.increase(v);
}

function BaseEffect$Slide_0(el, dir){
  this.el = el;
  this.dir = dir;
}

defineSeed(104, 103, {});
_.increase = function increase(v){
  $equalsIgnoreCase(this.style_0, 'x')?$setXY(this.el, new Point_0(v, -1)):$equalsIgnoreCase(this.style_0, 'y')?$setXY(this.el, new Point_0(-1, v)):$setStyleAttribute(this.el, this.style_0, v + 'px');
}
;
_.onComplete = function onComplete(){
  $onComplete(this);
}
;
_.dir = null;
_.from = 0;
_.marginLeft = null;
_.marginTop = null;
_.oBounds = null;
_.overflow_0 = null;
_.style_0 = null;
_.to = 0;
_.wrapEl = null;
function BaseEffect$SlideIn_0(el, dir){
  BaseEffect$Slide_0.call(this, el, dir);
}

defineSeed(105, 104, {}, BaseEffect$SlideIn_0);
_.increase = function increase_0(now){
  switch (this.dir.ordinal) {
    case 2:
      this.wrapEl.setLeft(this.oBounds.width_0 - now);
      $setStyleAttribute(this.wrapEl, this.style_0, now + 'px');
      break;
    case 0:
      this.wrapEl.setTop(this.oBounds.height_0 - now);
      $setStyleAttribute(this.wrapEl, this.style_0, now + 'px');
      break;
    case 1:
      $setStyleAttribute(this.el, 'marginTop', -(this.oBounds.height_0 - now) + 'px');
      $setStyleAttribute(this.wrapEl, this.style_0, now + 'px');
      break;
    case 3:
      $setStyleAttribute(this.el, 'marginLeft', -(this.oBounds.width_0 - now) + 'px');
      $setStyleAttribute(this.wrapEl, this.style_0, now + 'px');
  }
}
;
_.onStart = function onStart_0(){
  var h_0, w;
  this.overflow_0 = $getStyleAttribute(this.el, 'overflow');
  this.marginTop = $getStyleAttribute(this.el, 'marginTop');
  this.marginLeft = $getStyleAttribute(this.el, 'marginLeft');
  this.wrapEl = new El_0($doc.createElement('div'));
  this.oBounds = $wrap(this.el, this.wrapEl.dom_0);
  h_0 = this.oBounds.height_0;
  w = this.oBounds.width_0;
  $setSize_0(this.wrapEl, w, h_0, false);
  this.el.setVisible(true);
  this.wrapEl.setVisible(true);
  switch (this.dir.ordinal) {
    case 1:
      this.wrapEl.setHeight(1, false);
      this.style_0 = 'height';
      this.from = 1;
      this.to = this.oBounds.height_0;
      break;
    case 3:
      this.style_0 = 'width';
      this.from = 1;
      this.to = this.oBounds.width_0;
      break;
    case 2:
      this.wrapEl.setWidth(1, false);
      this.style_0 = 'width';
      this.from = 1;
      this.to = this.oBounds.width_0;
      break;
    case 0:
      this.wrapEl.setHeight(1, false);
      this.style_0 = 'height';
      this.from = 1;
      this.to = this.oBounds.height_0;
  }
}
;
function BaseEffect$SlideOut_0(el, dir){
  BaseEffect$Slide_0.call(this, el, dir);
}

defineSeed(106, 104, {}, BaseEffect$SlideOut_0);
_.increase = function increase_1(v){
  switch (this.dir.ordinal) {
    case 2:
      $setStyleAttribute(this.el, 'marginLeft', -(this.oBounds.width_0 - v) + 'px');
      $setStyleAttribute(this.wrapEl, this.style_0, v + 'px');
      break;
    case 0:
      $setStyleAttribute(this.el, 'marginTop', -(this.oBounds.height_0 - v) + 'px');
      $setStyleAttribute(this.wrapEl, this.style_0, v + 'px');
      break;
    case 1:
      $setXY(this.el, new Point_0(-1, v));
      break;
    case 3:
      $setXY(this.el, new Point_0(v, -1));
  }
}
;
_.onComplete = function onComplete_0(){
  this.el.setVisible(false);
  $onComplete(this);
}
;
_.onStart = function onStart_1(){
  var h_0, w;
  this.overflow_0 = $getStyleAttribute(this.el, 'overflow');
  this.marginTop = $getStyleAttribute(this.el, 'marginTop');
  this.marginLeft = $getStyleAttribute(this.el, 'marginLeft');
  this.wrapEl = new El_0($doc.createElement('div'));
  this.oBounds = $wrap(this.el, this.wrapEl.dom_0);
  h_0 = this.oBounds.height_0;
  w = this.oBounds.width_0;
  $setSize_0(this.wrapEl, w, h_0, false);
  this.wrapEl.setVisible(true);
  this.el.setVisible(true);
  switch (this.dir.ordinal) {
    case 0:
      this.style_0 = 'height';
      this.from = this.oBounds.height_0;
      this.to = 1;
      break;
    case 2:
      this.style_0 = 'width';
      this.from = this.oBounds.width_0;
      this.to = 0;
      break;
    case 3:
      this.style_0 = 'left';
      this.from = $getAbsoluteLeft(this.wrapEl.dom_0);
      this.to = this.from + (this.wrapEl.dom_0.offsetWidth || 0);
      break;
    case 1:
      this.style_0 = 'top';
      this.from = $getAbsoluteTop(this.wrapEl.dom_0);
      this.to = this.from + (this.wrapEl.dom_0.offsetHeight || 0);
  }
}
;
function $onComplete_0(this$static){
  this$static.effect.onComplete();
  $fireEvent(this$static, ($clinit_Events() , EffectComplete), new FxEvent_0);
}

function $onStart(this$static){
  this$static.effect.onStart();
  $fireEvent(this$static, ($clinit_Events() , EffectStart), new FxEvent_0);
}

function $onUpdate_0(this$static, progress){
  $onUpdate(this$static.effect, progress);
}

function $run(this$static, duration, effect){
  if (this$static.isRunning)
    return false;
  this$static.effect = effect;
  $run_1(this$static.animation, duration, currentTimeMillis());
  return true;
}

function $run_0(this$static, effect){
  return $run(this$static, this$static.duration > 0?this$static.duration:500, effect);
}

function Fx_0(config){
  this.animation = new Fx$1_0(this);
  this.duration = config.duration;
  $addListener(this, ($clinit_Events() , EffectStart), config.effectStartListener);
  $addListener(this, EffectComplete, config.effectCompleteListener);
}

defineSeed(107, 50, makeCastMap([Q$Observable]), Fx_0);
_.animation = null;
_.duration = 0;
_.effect = null;
_.isRunning = false;
function $cancel_0(this$static){
  if (!this$static.isRunning) {
    return;
  }
  this$static.wasStarted = this$static.isStarted;
  this$static.isRunning = false;
  this$static.isStarted = false;
  if (this$static.requestHandle) {
    $cancel_1(this$static.requestHandle);
    this$static.requestHandle = null;
  }
  this$static.onCancel();
}

function $run_1(this$static, duration, startTime){
  $cancel_0(this$static);
  this$static.isRunning = true;
  this$static.isStarted = false;
  this$static.duration = duration;
  this$static.startTime = startTime;
  ++this$static.runId;
  $execute(this$static.callback, currentTimeMillis());
}

function $update_0(this$static, curTime){
  var curRunId, finished, progress;
  curRunId = this$static.runId;
  finished = curTime >= this$static.startTime + this$static.duration;
  if (this$static.isStarted && !finished) {
    progress = (curTime - this$static.startTime) / this$static.duration;
    this$static.onUpdate((1 + Math.cos(3.141592653589793 + progress * 3.141592653589793)) / 2);
    return this$static.isRunning && this$static.runId == curRunId;
  }
  if (!this$static.isStarted && curTime >= this$static.startTime) {
    this$static.isStarted = true;
    this$static.onStart();
    if (!(this$static.isRunning && this$static.runId == curRunId)) {
      return false;
    }
  }
  if (finished) {
    this$static.isRunning = false;
    this$static.isStarted = false;
    this$static.onComplete();
    return false;
  }
  return true;
}

function Animation_0(){
  Animation_1.call(this, ($clinit_AnimationSchedulerImpl() , INSTANCE));
}

function Animation_1(scheduler){
  this.callback = new Animation$1_0(this);
  this.scheduler = scheduler;
}

defineSeed(109, 1, {});
_.onCancel = function onCancel(){
  this.wasStarted && this.onComplete();
}
;
_.onComplete = function onComplete_1(){
  this.onUpdate((1 + Math.cos(6.283185307179586)) / 2);
}
;
_.onStart = function onStart_2(){
  this.onUpdate((1 + Math.cos(3.141592653589793)) / 2);
}
;
_.duration = -1;
_.isRunning = false;
_.isStarted = false;
_.requestHandle = null;
_.runId = -1;
_.scheduler = null;
_.startTime = -1;
_.wasStarted = false;
function Fx$1_0(this$0){
  this.this$0 = this$0;
  Animation_0.call(this);
}

defineSeed(108, 109, {}, Fx$1_0);
_.onCancel = function onCancel_0(){
  $fireEvent(this.this$0, ($clinit_Events() , EffectCancel), new FxEvent_0);
  this.this$0.isRunning = false;
}
;
_.onComplete = function onComplete_2(){
  $onComplete_0(this.this$0);
  this.this$0.isRunning = false;
}
;
_.onStart = function onStart_3(){
  this.this$0.isRunning = true;
  $onStart(this.this$0);
}
;
_.onUpdate = function onUpdate(progress){
  $onUpdate_0(this.this$0, progress);
}
;
_.this$0 = null;
function FxConfig_0(callback){
  this.duration = 300;
  this.effectCompleteListener = callback;
}

defineSeed(110, 1, {}, FxConfig_0);
_.duration = 0;
_.effectCompleteListener = null;
_.effectStartListener = null;
function $clinit_XImages_generatedBundle(){
  $clinit_XImages_generatedBundle = nullMethod;
  IMAGE_BUNDLE_URL = getModuleBaseURL() + 'C4EA130FD0ED44BE513FEEDDE13614DA.cache.png';
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL, 670, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL, 306, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL, 290, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL, 274, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL, 258, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL, 242, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL, 226, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL, 210, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL, 194, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL, 178, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL, 162, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL, 146, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL, 130, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL, 114, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL, 98, 16, 16);
  field_invalid_SINGLETON = new ClippedImagePrototype_1(IMAGE_BUNDLE_URL, 622, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL, 654, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL, 638, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL, 606, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL, 558, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL, 478, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL, 542, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL, 510, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL, 494, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL, 526, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL, 0, 18, 18);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL, 434, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL, 450, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL, 402, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL, 418, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL, 370, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL, 386, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL, 338, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL, 354, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL, 322, 16, 16);
  toolbar_more_SINGLETON = new ClippedImagePrototype_1(IMAGE_BUNDLE_URL, 466, 12, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL, 66, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL, 82, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL, 34, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL, 50, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL, 574, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL, 590, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL, 18, 16, 16);
}

function XImages_generatedBundle_0(){
  $clinit_XImages_generatedBundle();
}

defineSeed(111, 1, {}, XImages_generatedBundle_0);
_.field_invalid = function field_invalid(){
  return field_invalid_SINGLETON;
}
;
_.toolbar_more = function toolbar_more(){
  return toolbar_more_SINGLETON;
}
;
var IMAGE_BUNDLE_URL, field_invalid_SINGLETON, toolbar_more_SINGLETON;
function $clinit_GrayImages_generatedBundle(){
  $clinit_GrayImages_generatedBundle = nullMethod;
  IMAGE_BUNDLE_URL_0 = getModuleBaseURL() + 'D0E43497744DF5C818B8EC8DC4EAF7AE.cache.png';
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL_0, 654, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL_0, 306, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL_0, 290, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL_0, 274, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL_0, 258, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL_0, 242, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL_0, 226, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL_0, 210, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL_0, 194, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL_0, 178, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL_0, 162, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL_0, 146, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL_0, 130, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL_0, 114, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL_0, 98, 16, 16);
  field_invalid_SINGLETON_0 = new ClippedImagePrototype_1(IMAGE_BUNDLE_URL_0, 606, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL_0, 638, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL_0, 622, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL_0, 590, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL_0, 478, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL_0, 398, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL_0, 462, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL_0, 430, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL_0, 414, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL_0, 446, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL_0, 0, 18, 18);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL_0, 542, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL_0, 370, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL_0, 526, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL_0, 354, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL_0, 510, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL_0, 338, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL_0, 494, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL_0, 322, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL_0, 670, 14, 14);
  toolbar_more_SINGLETON_0 = new ClippedImagePrototype_1(IMAGE_BUNDLE_URL_0, 386, 12, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL_0, 66, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL_0, 82, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL_0, 34, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL_0, 50, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL_0, 558, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL_0, 574, 16, 16);
  new ClippedImagePrototype_1(IMAGE_BUNDLE_URL_0, 18, 16, 16);
}

function GrayImages_generatedBundle_0(){
  $clinit_GrayImages_generatedBundle();
}

defineSeed(112, 1, {}, GrayImages_generatedBundle_0);
_.field_invalid = function field_invalid_0(){
  return field_invalid_SINGLETON_0;
}
;
_.toolbar_more = function toolbar_more_0(){
  return toolbar_more_SINGLETON_0;
}
;
var IMAGE_BUNDLE_URL_0, field_invalid_SINGLETON_0, toolbar_more_SINGLETON_0;
function $add_2(this$static, value){
  var js = this$static.jsArray;
  js[js.length] = value;
}

function $add_3(this$static, value){
  var js = this$static.jsArray;
  js[js.length] = value;
}

function $add_4(this$static, value){
  var js = this$static.jsArray;
  js[js.length] = value;
}

function $add_5(this$static, value){
  var js = this$static.jsArray;
  js[js.length] = value;
}

function $add_6(this$static, value){
  var js = this$static.jsArray;
  js[js.length] = value;
}

function JsArray_0(){
  this.jsArray = new Array;
}

defineSeed(113, 1, {}, JsArray_0);
_.jsArray = null;
function $set_0(this$static, name_0, value){
  var js = this$static.jsObject;
  js[name_0] = value;
}

function $set_1(this$static, name_0, value){
  var js = this$static.jsObject;
  js[name_0] = value;
}

function $set_2(this$static, name_0, value){
  var js = this$static.jsObject;
  js[name_0] = value;
}

function $set_3(this$static, name_0, value){
  var js = this$static.jsObject;
  js[name_0] = value;
}

function $set_4(this$static, name_0, value){
  var js = this$static.jsObject;
  js[name_0] = value;
}

function JsObject_0(){
  var x;
  this.jsObject = (x = eval('[{}]') , x[0]);
}

defineSeed(114, 1, {}, JsObject_0);
_.jsObject = null;
function toJavaScriptArray(array){
  var i, jsArray, js;
  jsArray = new JsArray_0;
  for (i = 0; i < array.length; ++i) {
    instanceOf(array[i], Q$Boolean)?$add_6(jsArray, dynamicCast(array[i], Q$Boolean).value_0):instanceOf(array[i], Q$Integer)?$add_4(jsArray, dynamicCast(array[i], Q$Integer).value_0):instanceOf(array[i], Q$Double)?$add_2(jsArray, dynamicCast(array[i], Q$Double).value_0):instanceOf(array[i], Q$Float)?$add_3(jsArray, dynamicCast(array[i], Q$Float).value_0):instanceOf(array[i], Q$String)?$add_5(jsArray, dynamicCast(array[i], Q$String)):(js = jsArray.jsArray , js[js.length] = array[i] , undefined);
  }
  return jsArray.jsArray;
}

function toJavaScriptObject(params){
  var k, keys, obj, v, js;
  obj = new JsObject_0;
  keys = $keySet_0((new FastMap$2_0(params)).this$0.map).iterator_0();
  while (keys.i < keys.this$0_0.size_1()) {
    k = dynamicCast($next_3(keys), Q$String);
    v = params.map['' + k];
    instanceOf(v, Q$Params)?(v = $getValues(dynamicCast(v, Q$Params))):instanceOf(v, Q$ModelData) && (v = $getValues(new Params_1(dynamicCast(v, Q$ModelData).getProperties())));
    instanceOf(v, Q$Boolean)?$set_4(obj, k, dynamicCast(v, Q$Boolean).value_0):instanceOf(v, Q$Integer)?$set_2(obj, k, dynamicCast(v, Q$Integer).value_0):instanceOf(v, Q$Double)?$set_0(obj, k, dynamicCast(v, Q$Double).value_0):instanceOf(v, Q$Float)?$set_1(obj, k, dynamicCast(v, Q$Float).value_0):instanceOf(v, Q$String)?$set_3(obj, k, dynamicCast(v, Q$String)):(js = obj.jsObject , js[k] = v , undefined);
  }
  return obj.jsObject;
}

function decode_0(jso){
  var j, key, key$iterator, map, keys;
  map = new FastMap_0;
  for (key$iterator = new AbstractList$IteratorImpl_0(new Arrays$ArrayList_0((keys = $computeKeys0(jso, initDim(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, 0, 0)) , new JSONObject$1_0(jso, keys)).val$keys)); key$iterator.i < key$iterator.this$0_0.size_1();) {
    key = dynamicCast($next_3(key$iterator), Q$String);
    j = $get_4(jso, key);
    j.isObject()?$put(map, key, decode_0(j.isObject())):j.isArray_0()?$put(map, key, decodeToList(j.isArray_0())):j.isBoolean()?$put(map, key, ($clinit_Boolean() , j.isBoolean().value_0?TRUE_0:FALSE_0)):!!j.isString() && $put(map, key, decodeValue(j.isString().value_0));
  }
  return map;
}

function decodeToList(array){
  var i, list, v;
  list = new ArrayList_0;
  for (i = 0; i < array.jsArray.length; ++i) {
    v = $get_3(array, i);
    v.isObject()?$add_17(list, decode_0(v.isObject())):v.isArray_0()?$add_17(list, decodeToList(v.isArray_0())):v.isNull()?(setCheck(list.array, list.size_0++, null) , true):v.isNumber()?$add_17(list, new Double_0(v.isNumber().value_0)):v.isBoolean()?$add_17(list, ($clinit_Boolean() , v.isBoolean().value_0?TRUE_0:FALSE_0)):!!v.isString() && $add_17(list, decodeValue(v.isString().value_0));
  }
  return list;
}

function decodeValue(value){
  var e, time, type, val, decode;
  try {
    if (value == null || value.length < 3) {
      return null;
    }
    type = value.substr(0, 2 - 0);
    val = $substring(value, 2);
    if ($equals_2(type, 'd:')) {
      time = __parseAndValidateLong(val);
      return new Date_3(time);
    }
     else if ($equals_2(type, 'i:')) {
      return valueOf(toInt((decode = __decodeNumberString(val) , fromInt(__parseAndValidateInt(decode.payload, decode.radix)))));
    }
     else if ($equals_2(type, 'f:')) {
      return new Float_1(val);
    }
    return val;
  }
   catch ($e0) {
    $e0 = caught_0($e0);
    if (instanceOf($e0, Q$Exception)) {
      e = $e0;
      $printStackTrace(e);
      return null;
    }
     else 
      throw $e0;
  }
}

--></script>
<script><!--
function encodeList(data){
  var i, jsona, val;
  jsona = new JSONArray_0;
  for (i = 0; i < data.size_1(); ++i) {
    val = data.get_2(i);
    instanceOf(val, Q$ModelData)?$set_10(jsona, i, encodeMap(dynamicCast(val, Q$ModelData).getProperties())):instanceOf(val, Q$Map)?$set_10(jsona, i, encodeMap(dynamicCast(val, Q$Map))):instanceOf(val, Q$List)?$set_10(jsona, i, encodeList(dynamicCast(val, Q$List))):instanceOf(val, Q$String)?$set_10(jsona, i, new JSONString_0(encodeValue(val))):instanceOf(val, Q$Number)?$set_10(jsona, i, new JSONString_0(encodeValue(val))):instanceOf(val, Q$Boolean)?$set_10(jsona, i, ($clinit_JSONBoolean() , dynamicCast(val, Q$Boolean).value_0?TRUE:FALSE)):val == null?$set_10(jsona, i, ($clinit_JSONNull() , $clinit_JSONNull() , instance_6)):instanceOf(val, Q$Date) && $set_10(jsona, i, new JSONString_0(encodeValue(val)));
  }
  return jsona;
}

function encodeMap(data){
  var jsobj, key, key$iterator, val;
  jsobj = new JSONObject_0;
  for (key$iterator = data.keySet().iterator_0(); key$iterator.hasNext();) {
    key = dynamicCast(key$iterator.next_0(), Q$String);
    val = data.get_0(key);
    instanceOf(val, Q$String)?$put_3(jsobj, key, new JSONString_0(encodeValue(val))):instanceOf(val, Q$Date)?$put_3(jsobj, key, new JSONString_0(encodeValue(val))):instanceOf(val, Q$Number)?$put_3(jsobj, key, new JSONString_0(encodeValue(val))):instanceOf(val, Q$Boolean)?$put_3(jsobj, key, ($clinit_JSONBoolean() , dynamicCast(val, Q$Boolean).value_0?TRUE:FALSE)):val == null?$put_3(jsobj, key, ($clinit_JSONNull() , $clinit_JSONNull() , instance_6)):instanceOf(val, Q$Map)?$put_3(jsobj, key, encodeMap(dynamicCast(val, Q$Map))):instanceOf(val, Q$List)?$put_3(jsobj, key, encodeList(dynamicCast(val, Q$List))):instanceOf(val, Q$ModelData) && $put_3(jsobj, key, encodeMap(dynamicCast(val, Q$ModelData).getProperties()));
  }
  return jsobj;
}

function encodeValue(value){
  if (instanceOf(value, Q$Date)) {
    return 'd:' + toString_25(fromDouble(dynamicCast(value, Q$Date).jsdate.getTime()));
  }
   else if (instanceOf(value, Q$Integer)) {
    return 'i:' + value;
  }
   else if (instanceOf(value, Q$Float)) {
    return 'f:' + value;
  }
  return 's:' + toString__devirtual$(value);
}

function $getMap(name_0){
  var map, val, cookiesMap, v;
  val = (cookiesMap = ensureCookies() , dynamicCast(name_0 == null?cookiesMap.nullSlot:name_0 != null?cookiesMap.stringMap[':' + name_0]:$getHashValue(cookiesMap, null, ~~getHashCode_0(null)), Q$String));
  if (val == null)
    return null;
  map = dynamicCast((v = ($clinit_JSONParser() , $clinit_JSONParser() , parse(val)) , v.isObject()?decode_0(v.isObject()):null).map['state'], Q$Map);
  return map;
}

function $set_5(this$static, name_0, value){
  var map, re;
  map = new FastMap_0;
  $put_1(map.map, 'state', value);
  $setValue_0(this$static, name_0, $toString_3(encodeMap(map)));
  re = new StateEvent_0;
  $fireEvent(this$static, ($clinit_Events() , StateChange), re);
}

defineSeed(118, 50, makeCastMap([Q$Observable]));
function $setValue_0(this$static, name_0, value){
  setCookie(name_0, value, this$static.expires, this$static.domain, this$static.path, this$static.secure);
}

function CookieProvider_0(expires, secure){
  this.path = '/';
  this.secure = secure;
  this.domain = null;
  !expires && (expires = new Date_3(add_2(fromDouble((new Date_1).jsdate.getTime()), P240c8400_longLit)));
  this.expires = expires;
}

defineSeed(117, 118, makeCastMap([Q$Observable]), CookieProvider_0);
_.domain = null;
_.expires = null;
_.path = null;
_.secure = false;
function $clinit_StateManager(){
  $clinit_StateManager = nullMethod;
  instance_1 = new StateManager_0;
}

function $getMap_0(name_0){
  try {
    return $getMap(name_0);
  }
   catch ($e0) {
    $e0 = caught_0($e0);
    if (instanceOf($e0, Q$Exception)) {
      return null;
    }
     else 
      throw $e0;
  }
}

function $set_6(this$static, name_0, value){
  $set_5(this$static.provider, name_0, value);
}

function $setProvider(this$static, stateProvider){
  this$static.provider = stateProvider;
}

function StateManager_0(){
}

defineSeed(119, 1, {}, StateManager_0);
_.provider = null;
var instance_1;
function addStyleSheet(id, url){
  var all, child, elem, href, i, idx, link, node, tag;
  link = $doc.createElement('link');
  link['rel'] = 'stylesheet';
  link['type'] = 'text/css';
  link['id'] = id;
  link['href'] = url;
  link['disabled'] = '';
  elem = ($clinit_XDOM() , $doc.getElementsByTagName('head')[0]);
  all = null;
  for (i = 0; i < elem.childNodes.length; ++i) {
    node = elem.childNodes[i];
    if (node) {
      child = node;
      tag = child.tagName;
      if (tag != null && $equalsIgnoreCase(child.tagName, 'link')) {
        href = child.getAttribute('href') || '';
        if (href.length != 0 && href.indexOf('gxt-all.css') != -1) {
          all = child;
          break;
        }
      }
    }
  }
  if (all) {
    idx = $getChildIndex(elem, all);
    $insertChild_0(elem, ($clinit_PotentialElement() , $resolve(link)), idx + 1);
  }
   else {
    $appendChild_0(elem, ($clinit_PotentialElement() , $resolve(link)));
  }
}

function $click(this$static){
  $fireEvent_0(this$static, ($clinit_Events() , OnClick));
  $schedule(this$static.timer, this$static.accelerate?$easeOutExpo(sub_0(fromDouble((new Date_1).jsdate.getTime()), fromDouble(this$static.mousedownTime.jsdate.getTime()))):20);
}

function $doAttach(this$static){
  $setEventListener(this$static.el.dom_0, new ClickRepeater$2_0(this$static));
  $disableTextSelection(this$static.el, true);
  $add(this$static.preview);
}

function $easeOutExpo(t){
  return round_int(eq(t, P2ee0_longLit)?10:-390 * (-pow(2, toDouble(div_0(mul(Na_longLit, t), P2ee0_longLit))) + 1) + 400);
}

function $fireEvent_0(this$static, eventType){
  return $fireEvent(this$static, eventType, new ClickRepeaterEvent_0(this$static.el));
}

function $handleMouseDown(this$static){
  !this$static.timer && (this$static.timer = new ClickRepeater$3_0(this$static));
  $cancel(this$static.timer);
  $setFocus(this$static.el, false);
  this$static.mousedownTime = new Date_1;
  this$static.waitForMouseOut = true;
  $fireEvent_0(this$static, ($clinit_Events() , OnMouseDown));
  $fireEvent_0(this$static, OnClick);
  this$static.accelerate && (this$static.delay = 400);
  $schedule(this$static.timer, this$static.delay);
}

function $handleMouseOut(this$static){
  if (this$static.waitForMouseOut) {
    $cancel(this$static.timer);
    this$static.waitForMouseOver = true;
  }
}

function $handleMouseReturn(this$static){
  if (this$static.waitForMouseOver) {
    this$static.waitForMouseOver = false;
    $fireEvent_0(this$static, ($clinit_Events() , OnClick));
    $schedule(this$static.timer, this$static.accelerate?$easeOutExpo(sub_0(fromDouble((new Date_1).jsdate.getTime()), fromDouble(this$static.mousedownTime.jsdate.getTime()))):20);
  }
}

function $handleMouseUp(this$static){
  if (this$static.waitForMouseOut) {
    $cancel(this$static.timer);
    this$static.waitForMouseOut = false;
    this$static.waitForMouseOver = false;
    $removeStyleName(this$static.el, this$static.pressClass);
    $fireEvent_0(this$static, ($clinit_Events() , OnMouseUp));
  }
}

function ClickRepeater_0(el){
  this.el = el;
  this.preview = new ClickRepeater$1_0(this);
  this.preview.autoHide = false;
  $addEventsSunk(el, 52);
}

defineSeed(121, 50, makeCastMap([Q$Observable, Q$ComponentAttachable]), ClickRepeater_0);
_.accelerate = false;
_.delay = 250;
_.el = null;
_.mousedownTime = null;
_.pressClass = null;
_.preview = null;
_.timer = null;
_.waitForMouseOut = false;
_.waitForMouseOver = false;
function ClickRepeater$1_0(this$0){
  this.this$0 = this$0;
  BaseEventPreview_0.call(this);
}

defineSeed(122, 53, makeCastMap([Q$Observable, Q$EventHandler, Q$Event$NativePreviewHandler]), ClickRepeater$1_0);
_.onPreview = function onPreview_0(pe){
  (!pe.event_0?-1:$eventGetTypeInt(pe.event_0.type)) == 8 && $handleMouseUp(this.this$0);
  return true;
}
;
_.this$0 = null;
function ClickRepeater$2_0(this$0){
  this.this$0 = this$0;
}

defineSeed(123, 1, makeCastMap([Q$EventListener]), ClickRepeater$2_0);
_.onBrowserEvent = function onBrowserEvent(event_0){
  switch ($eventGetTypeInt(event_0.type)) {
    case 4:
      event_0.stopPropagation();
      event_0.preventDefault();
      $handleMouseDown(this.this$0);
      break;
    case 32:
      $handleMouseOut(this.this$0);
      break;
    case 16:
      $handleMouseReturn(this.this$0);
  }
}
;
_.this$0 = null;
function ClickRepeater$3_0(this$0){
  $clinit_Timer();
  this.this$0 = this$0;
}

defineSeed(124, 45, makeCastMap([Q$Timer]), ClickRepeater$3_0);
_.run = function run_0(){
  $click(this.this$0);
}
;
_.this$0 = null;
function format_0(date, format){
  var d;
  d = fromDouble((new Float_0(date)).value_0);
  return $format(($clinit_DateTimeFormat_0() , getFormat_0(format, $getDateTimeFormatInfo(($clinit_LocaleInfo() , $clinit_LocaleInfo() , instance_5)))), new Date_3(d), null);
}

function $delay(this$static, delay){
  $cancel(this$static.timer);
  delay > 0?$schedule(this$static.timer, delay):this$static.timer.this$0.listener.handleEvent(null);
}

function DelayedTask_0(listener){
  this.listener = listener;
  this.timer = new DelayedTask$1_0(this);
}

defineSeed(126, 1, {}, DelayedTask_0);
_.listener = null;
_.timer = null;
function DelayedTask$1_0(this$0){
  $clinit_Timer();
  this.this$0 = this$0;
}

defineSeed(127, 45, makeCastMap([Q$Timer]), DelayedTask$1_0);
_.run = function run_1(){
  this.this$0.listener.handleEvent(null);
}
;
_.this$0 = null;
function camelize(s){
  return s.match(/\-/gi)?s.toLowerCase().replace(/\-(\w)/gi, function(a, c){
    return c.toUpperCase();
  }
  ):s;
}

function htmlEncode(value){
  return value == null?null:$replace_1($replace_1($replace_1($replace_1(value, '&', '&amp;'), '>', '&gt;'), '<', '&lt;'), '"', '&quot;');
}

function safeRegexReplacement(replacement){
  if (replacement == null) {
    return null;
  }
  return $replaceAll($replaceAll(replacement, '\\\\', '\\\\\\\\'), '\\$', '\\\\\\$');
}

function substitute(text, params){
  var i, p;
  for (i = 0; i < params.length; ++i) {
    p = params[i];
    p == null && (p = '');
    text = $replaceAll(text, '\\{' + i + '}', safeRegexReplacement(toString__devirtual$(p)));
  }
  return text;
}

function $clinit_KeyNav(){
  $clinit_KeyNav = nullMethod;
  ($clinit_GXT() , isIE_0) || isGecko || isWebKit?(keyEvent = ($clinit_Events() , OnKeyDown)):(keyEvent = ($clinit_Events() , OnKeyPress));
}

function $bind(this$static, target){
  !!this$static.component && $removeListener_0(this$static.component, keyEvent, this$static);
  if (target) {
    $addListener_0(target, keyEvent, this$static);
    $sinkEvents_0(target, keyEvent.eventCode);
  }
  this$static.component = target;
}

function $handleEvent_0(this$static, ce){
  var code;
  if (ce.type_0 == keyEvent) {
    if ($getElement(this$static.component) != ce.event_0.currentTarget) {
      return;
    }
    this$static.cancelBubble_0 && !!ce.event_0 && (ce.event_0.cancelBubble = true , undefined);
    this$static.preventDefault_0 && !!ce.event_0 && (ce.event_0.preventDefault() , undefined);
    code = !ce.event_0?-1:ce.event_0.keyCode || 0;
    this$static.onKeyPress(ce);
    switch (code) {
      case 40:
        this$static.onDown(ce);
        break;
      case 13:
        this$static.onEnter_1(ce);
        break;
      case 37:
        this$static.onLeft_0(ce);
        break;
      case 39:
        this$static.onRight_0(ce);
        break;
      case 38:
        this$static.onUp(ce);
    }
    $fireEvent(this$static, new EventType_1(code), ce);
  }
}

defineSeed(129, 50, makeCastMap([Q$Listener, Q$Observable]));
_.handleEvent = function handleEvent_0(ce){
  $handleEvent_0(this, dynamicCast(ce, Q$ComponentEvent));
}
;
_.onDown = function onDown(ce){
}
;
_.onEnter_1 = function onEnter_4(ce){
}
;
_.onKeyPress = function onKeyPress(ce){
}
;
_.onLeft_0 = function onLeft_1(ce){
}
;
_.onRight_0 = function onRight_1(ce){
}
;
_.onUp = function onUp(ce){
}
;
_.cancelBubble_0 = false;
_.component = null;
_.preventDefault_0 = false;
var keyEvent = null;
function $clinit_Markup(){
  $clinit_Markup = nullMethod;
  var sb;
  sb = new StringBuffer_0;
  sb.impl.string += '<div role=presentation class={0}-tl><div role=presentation class={0}-tr><div role=presentation class={0}-tc><\/div><\/div><\/div>';
  sb.impl.string += '<div role=presentation class={0}-ml><div role=presentation class={0}-mr><div role=presentation class={0}-mc><\/div><\/div><\/div>';
  sb.impl.string += '<div role=presentation class={0}-bl><div role=presentation class={0}-br><div role=presentation class={0}-bc><\/div><\/div><\/div>';
  BBOX = sb.impl.string;
  sb = new StringBuffer_0;
  sb.impl.string += '<div role=presentation><table class={0} cellpadding=0 cellspacing=0 role=presentation><tbody role=presentation>';
  sb.impl.string += '<tr><td class={0}-ml role=presentation><div role=presentation><\/div><\/td><td class={0}-mc role=presentation><\/td><td class={0}-mr role=presentation><div role=presentation><\/div><\/td><\/tr>';
  sb.impl.string += '<tr><td class={0}-bl role=presentation><div role=presentation><\/div><\/td><td class={0}-bc role=presentation><\/td><td class={0}-br role=presentation><div role=presentation><\/div><\/td><\/tr>';
  sb.impl.string += '<\/tbody><\/table><\/div>';
  sb = new StringBuffer_0;
  sb.impl.string += '<table class={0} cellpadding=0 cellspacing=0 role=presentation><tbody role=presentation>';
  sb.impl.string += '<tr class={0}-trow role=presentation><td class={0}-tl role=presentation><div role=presentation>&nbsp;<\/div><\/td><td class={0}-tc role=presentation><\/td><td class={0}-tr role=presentation><div role=presentation>&nbsp;<\/div><\/td><\/tr>';
  sb.impl.string += '<tr role=presentation><td class={0}-ml role=presentation><\/td><td class={0}-mc role=presentation><\/td><td class={0}-mr role=presentation><\/td><\/tr>';
  sb.impl.string += '<tr class={0}-brow role=presentation><td class={0}-bl role=presentation><\/td><td class={0}-bc role=presentation><\/td><td class={0}-br role=presentation><\/td><\/tr>';
  sb.impl.string += '<\/tr><\/tbody><\/table>';
  sb = new StringBuffer_0;
  sb.impl.string += '<div class=x-shadow><div class=xst><div class=xstl><\/div><div class=xstc><\/div><div class=xstr><\/div><\/div><div class=xsc><div class=xsml><\/div><div class=xsmc><\/div><div class=xsmr><\/div><\/div><div class=xsb><div class=xsbl><\/div><div class=xsbc><\/div><div class=xsbr><\/div><\/div><\/div>';
  SHADOW = sb.impl.string;
  sb = new StringBuffer_0;
  sb.impl.string += "<div class=my-treetbl-item><table cellpadding=0 cellspacing=0 style='table-layout: fixed;'><tbody><tr>";
  sb.impl.string += '<td class=my-treetbl-cell index=0><div class=my-treetbl-cell-overflow><div class=my-treetbl-cell-text>';
  sb.impl.string += '<table cellpadding=0 cellspacing=0>';
  sb.impl.string += '<tbody><tr><td><div class=my-treetbl-indent><\/div><\/td>';
  sb.impl.string += '<td class=my-treetbl-joint align=center valign=middle><div>&nbsp;<\/div><\/td>';
  sb.impl.string += '<td class=my-treetbl-left><div><\/div><\/td>';
  sb.impl.string += '<td class=my-treetbl-check><div class=my-treetbl-notchecked><\/div><\/td>';
  sb.impl.string += '<td class=my-treetbl-icon><div>&nbsp;<\/div><\/td>';
  sb.impl.string += '<td class=my-treetbl-item-text><span>{0}<\/span><\/td>';
  sb.impl.string += '<td class=my-treetbl-right><div><\/div><\/td><\/tr><\/tbody><\/table><\/div><\/div><\/td><\/tr><\/tbody><\/table><\/div>';
  sb.impl.string += "<div class=my-treetbl-ct style='display: none'><\/div>";
}

var BBOX = null, SHADOW = null;
function $getValues(this$static){
  if (this$static.values) {
    return toJavaScriptArray($toArray(this$static.values));
  }
   else if (this$static.mapValues) {
    return toJavaScriptObject(this$static.mapValues);
  }
  return (new JsObject_0).jsObject;
}

function $set_7(this$static, key, value){
  if (value == null)
    return this$static;
  !this$static.mapValues && (this$static.mapValues = new FastMap_0);
  $put(this$static.mapValues, key, value);
  return this$static;
}

function Params_0(){
}

function Params_1(values){
  this.mapValues = values;
}

function Params_2(values){
  var i;
  for (i = 0; i < values.length; ++i) {
    !this.values && (this.values = new ArrayList_0);
    $add_17(this.values, values[i]);
  }
}

defineSeed(131, 1, makeCastMap([Q$Params]), Params_0, Params_1, Params_2);
_.mapValues = null;
_.values = null;
function Point_0(x, y){
  this.x = x;
  this.y = y;
}

defineSeed(132, 1, makeCastMap([Q$Point]), Point_0);
_.equals$ = function equals_7(obj){
  var p;
  if (instanceOf(obj, Q$Point)) {
    p = dynamicCast(obj, Q$Point);
    if (this.x == p.x && this.y == p.y) {
      return true;
    }
    return false;
  }
  return this === obj;
}
;
_.toString$ = function toString_10(){
  return 'x: ' + this.x + ', y: ' + this.y;
}
;
_.x = 0;
_.y = 0;
function $contains(this$static, x, y){
  return x >= this$static.x && y >= this$static.y && x - this$static.x < this$static.width_0 && y - this$static.y < this$static.height_0;
}

function $contains_0(this$static, p){
  return $contains(this$static, p.x, p.y);
}

function Rectangle_0(){
}

function Rectangle_1(x, y, width, height){
  this.x = x;
  this.y = y;
  this.width_0 = width;
  this.height_0 = height;
}

defineSeed(133, 1, {}, Rectangle_0, Rectangle_1);
_.toString$ = function toString_11(){
  return 'left: ' + this.x + ' top: ' + this.y + ' width: ' + this.width_0 + ' height: ' + this.height_0;
}
;
_.height_0 = 0;
_.width_0 = 0;
_.x = 0;
_.y = 0;
function Region_0(){
}

defineSeed(134, 1, {}, Region_0);
_.bottom = 0;
_.left_0 = 0;
_.right = 0;
_.top_0 = 0;
function Scroll_1(scrollLeft, scrollTop){
  this.scrollLeft_0 = scrollLeft;
  this.scrollTop_0 = scrollTop;
}

defineSeed(135, 1, {}, Scroll_1);
_.scrollLeft_0 = 0;
_.scrollTop_0 = 0;
function $equals_0(this$static, obj){
  var s;
  if (instanceOf(obj, Q$Size)) {
    s = dynamicCast(obj, Q$Size);
    if (this$static.width_0 == s.width_0 && this$static.height_0 == s.height_0) {
      return true;
    }
    return false;
  }
  return this$static === obj;
}

function Size_0(width, height){
  this.width_0 = width;
  this.height_0 = height;
}

defineSeed(136, 1, makeCastMap([Q$Size]), Size_0);
_.equals$ = function equals_8(obj){
  return $equals_0(this, obj);
}
;
_.toString$ = function toString_12(){
  return 'height: ' + this.height_0 + ', width: ' + this.width_0;
}
;
_.height_0 = 0;
_.width_0 = 0;
function $bind_0(this$static, el){
  var key, key$iterator, l_0, map;
  $addStyleName(el, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['x-repaint']));
  addCommand(new El$2_0(el));
  l_0 = new ArrayList_0;
  setCheck(l_0.array, l_0.size_0++, 'fontSize');
  setCheck(l_0.array, l_0.size_0++, 'fontWeight');
  setCheck(l_0.array, l_0.size_0++, 'fontStyle');
  setCheck(l_0.array, l_0.size_0++, 'fontFamily');
  setCheck(l_0.array, l_0.size_0++, 'lineHeight');
  setCheck(l_0.array, l_0.size_0++, 'textTransform');
  setCheck(l_0.array, l_0.size_0++, 'letterSpacing');
  map = $getStyleAttribute_1(($clinit_El() , computedStyle_0), el.dom_0, l_0);
  for (key$iterator = $keySet_0((new FastMap$2_0(map)).this$0.map).iterator_0(); key$iterator.i < key$iterator.this$0_0.size_1();) {
    key = dynamicCast($next_3(key$iterator), Q$String);
    $setStyleAttribute(this$static.el, key, map.map['' + key]);
  }
}

function $getSize_0(this$static, text){
  var size;
  $update(this$static.el, text);
  size = $getSize(this$static.el, false);
  $update(this$static.el, '');
  return size;
}

function $getWidth_0(this$static, text){
  $setStyleAttribute(this$static.el, 'width', 'auto');
  return $getSize_0(this$static, text).width_0;
}

function TextMetrics_0(){
  this.el = new El_0($doc.createElement('div'));
  appendChild(getBody(), this.el.dom_0);
  $makePositionable_0(this.el, true);
  $setLeftTop(this.el, -10000, -10000);
  this.el.setVisibility(false);
}

defineSeed(137, 1, {}, TextMetrics_0);
_.el = null;
var instance_2 = null;
function $clinit_Theme(){
  $clinit_Theme = nullMethod;
  BLUE = new Theme_0('blue', ($clinit_GXT() , 'Blue Theme'), 'gxt-all.css');
  GRAY = new Theme$1_0('Gray Theme');
}

function Theme_0(id, name_0, file){
  $set(this, 'id', id);
  $set(this, 'name', name_0);
  $set(this, 'file', file);
}

defineSeed(138, 81, makeCastMap([Q$ModelData, Q$Theme, Q$Serializable]), Theme_0);
_.init = function init_0(){
}
;
var BLUE = null, GRAY = null;
function Theme$1_0($anonymous1){
  Theme_0.call(this, 'gray', $anonymous1, 'gxt/css/gxt-gray.css');
}

defineSeed(139, 138, makeCastMap([Q$ModelData, Q$Theme, Q$Serializable]), Theme$1_0);
_.init = function init_1(){
  $clinit_GXT();
  IMAGES = new GrayImages_generatedBundle_0;
}
;
function $clinit_ThemeManager(){
  $clinit_ThemeManager = nullMethod;
  themes = new ArrayList_0;
  register(($clinit_Theme() , BLUE));
  register(GRAY);
}

function findTheme(id){
  $clinit_ThemeManager();
  var t, t$iterator;
  for (t$iterator = new AbstractList$IteratorImpl_0(themes); t$iterator.i < t$iterator.this$0_0.size_1();) {
    t = dynamicCast($next_3(t$iterator), Q$Theme);
    if ($equals_2(dynamicCast($get_0(t, 'id'), Q$String), id)) {
      return t;
    }
  }
  return null;
}

function register(theme){
  $add_17(themes, theme);
}

var themes;
function constrain(value, min, max){
  value = value > min?value:min;
  value = value < max?value:max;
  return value;
}

function isEmptyString(string){
  return string == null || $equals_2('', string);
}

function parseFloat_0(value, defaultValue){
  var n = parseFloat(value, 10);
  if (n === 0) {
    return 0;
  }
  return n || defaultValue;
}

function parseInt_0(value, defaultValue){
  var n = parseInt(value, 10);
  if (n === 0) {
    return 0;
  }
  return n || defaultValue;
}

function $setDescribedBy(this$static, describedBy){
  this$static.describedBy = describedBy;
  this$static.c.rendered && this$static.c.setAriaState('aria-describedby', describedBy);
}

function $setDescription(this$static, description){
  var div, id;
  this$static.description = description;
  if (this$static.c.rendered) {
    id = ($clinit_XDOM() , 'x-auto-' + autoId++);
    div = new El_0($doc.createElement('div'));
    $setStyleAttribute_0(($clinit_El() , computedStyle_0), div.dom_0, 'position', 'absolute');
    div.setLeft(-10000);
    div.setTop(-10000);
    $setId(div, id);
    $setInnerHTML(div.dom_0, description);
    $appendChild_0(getBody(), div.dom_0);
    this$static.c.setAriaState('aria-describedby', id);
  }
}

function $setLabel(this$static, label){
  this$static.label = label;
  $clinit_GXT();
  ariaEnabled && this$static.c.rendered && this$static.c.setAriaState('aria-label', label);
}

function $setLabelledBy(this$static, labelledBy){
  this$static.labelledBy = labelledBy;
  this$static.c.rendered && this$static.c.setAriaState('aria-labelledby', labelledBy);
}

function $setPresentation(this$static){
  this$static.presentation = true;
  $getFocusSupport(this$static.c).ignore = true;
  this$static.c.rendered && $setAriaRole(this$static.c, 'presentation');
}

function $setRole(this$static, role){
  this$static.role = role;
  this$static.c.rendered && $setAriaRole(this$static.c, role);
}

function $setState(this$static, stateName, value){
  $put_5(this$static.states, stateName, value);
  this$static.c.rendered && this$static.c.setAriaState(stateName, value);
}

function AriaSupport_0(c){
  this.states = new HashMap_0;
  this.c = c;
}

defineSeed(142, 1, {}, AriaSupport_0);
_.c = null;
_.describedBy = null;
_.description = null;
_.label = null;
_.labelledBy = null;
_.presentation = false;
_.role = null;
function $addStyleDependentName(this$static, styleSuffix){
  $setStyleName_1(this$static, getStylePrimaryName(this$static.element) + '-' + styleSuffix, true);
}

function $addStyleName_0(this$static, style){
  setStyleName(this$static.getStyleElement(), style, true);
}

function $removeStyleDependentName(this$static, styleSuffix){
  $setStyleName_1(this$static, getStylePrimaryName(this$static.element) + '-' + styleSuffix, false);
}

function $removeStyleName_1(this$static, style){
  setStyleName(this$static.getStyleElement(), style, false);
}

function $replaceNode(node, newNode){
  var p = node.parentNode;
  if (!p) {
    return;
  }
  p.insertBefore(newNode, node);
  p.removeChild(node);
}

function $resolvePotentialElement(){
  throw new UnsupportedOperationException_0;
}

function $setElement(this$static, elem){
  this$static.element = elem;
}

function $setHeight_0(this$static, height){
  setStyleAttribute_0(this$static.getElement(), 'height', height);
}

function $setPixelSize(this$static, width, height){
  width >= 0 && this$static.setWidth_1(width + 'px');
  height >= 0 && this$static.setHeight_1(height + 'px');
}

function $setSize_1(this$static, width, height){
  this$static.setWidth_1(width);
  this$static.setHeight_1(height);
}

function $setStyleName_0(this$static, style){
  this$static.getStyleElement()['className'] = style;
}

function $setStyleName_1(this$static, style, add){
  setStyleName(this$static.element, style, add);
}

function $setTitle(this$static, title){
  title == null || title.length == 0?(this$static.getElement().removeAttribute('title') , undefined):$setAttribute(this$static.getElement(), 'title', title);
}

function $setWidth_0(this$static, width){
  setStyleAttribute_0(this$static.getElement(), 'width', width);
}

function $sinkBitlessEvent(this$static, eventTypeName){
  $sinkBitlessEvent_0(this$static.getElement(), eventTypeName);
}

function $toString_2(this$static){
  if (!this$static.element) {
    return '(null handle)';
  }
  return this$static.getElement().outerHTML;
}

function getStylePrimaryName(elem){
  var fullClassName, spaceIdx;
  fullClassName = $getPropertyString(elem, 'className');
  spaceIdx = $indexOf_3(fullClassName, fromCodePoint(32));
  if (spaceIdx >= 0) {
    return fullClassName.substr(0, spaceIdx - 0);
  }
  return fullClassName;
}

function setStyleName(elem, style, add){
  if (!elem) {
    throw new RuntimeException_0('Null widget handle. If you are creating a composite, ensure that initWidget() has been called.');
  }
  style = $trim(style);
  if (style.length == 0) {
    throw new IllegalArgumentException_0('Style names cannot be empty');
  }
  add?$addClassName(elem, style):$removeClassName(elem, style);
}

function setStylePrimaryName(elem, style){
  if (!elem) {
    throw new RuntimeException_0('Null widget handle. If you are creating a composite, ensure that initWidget() has been called.');
  }
  style = $trim(style);
  if (style.length == 0) {
    throw new IllegalArgumentException_0('Style names cannot be empty');
  }
  updatePrimaryAndDependentStyleNames(elem, style);
}

function setVisible_0(elem, visible){
  elem.style.display = visible?'':'none';
  elem.setAttribute('aria-hidden', String(!visible));
}

function updatePrimaryAndDependentStyleNames(elem, newPrimaryStyle){
  var classes = elem.className.split(/\s+/);
  if (!classes) {
    return;
  }
  var oldPrimaryStyle = classes[0];
  var oldPrimaryStyleLen = oldPrimaryStyle.length;
  classes[0] = newPrimaryStyle;
  for (var i = 1, n = classes.length; i < n; i++) {
    var name_0 = classes[i];
    name_0.length > oldPrimaryStyleLen && name_0.charAt(oldPrimaryStyleLen) == '-' && name_0.indexOf(oldPrimaryStyle) == 0 && (classes[i] = newPrimaryStyle + name_0.substring(oldPrimaryStyleLen));
  }
  elem.className = classes.join(' ');
}

defineSeed(146, 1, makeCastMap([Q$HasVisibility, Q$UIObject]));
_.addStyleName = function addStyleName(style){
  $addStyleName_0(this, style);
}
;
_.getElement = function getElement(){
  return this.element;
}
;
_.getOffsetHeight = function getOffsetHeight(){
  return $getPropertyInt(this.getElement(), 'offsetHeight');
}
;
_.getOffsetWidth = function getOffsetWidth(){
  return $getPropertyInt(this.getElement(), 'offsetWidth');
}
;
_.getStyleElement = function getStyleElement(){
  return this.getElement();
}
;
_.isVisible = function isVisible(){
  return this.getElement().style.display != 'none';
}
;
_.removeStyleName = function removeStyleName(style){
  $removeStyleName_1(this, style);
}
;
_.resolvePotentialElement = function resolvePotentialElement(){
  return $resolvePotentialElement();
}
;
_.setHeight_1 = function setHeight_1(height){
  $setHeight_0(this, height);
}
;
_.setSize = function setSize(width, height){
  $setSize_1(this, width, height);
}
;
_.setTitle = function setTitle(title){
  $setTitle(this, title);
}
;
_.setVisible_0 = function setVisible_1(visible){
  setVisible_0(this.getElement(), visible);
}
;
_.setWidth_1 = function setWidth_1(width){
  $setWidth_0(this, width);
}
;
_.toString$ = function toString_13(){
  return $toString_2(this);
}
;
_.element = null;
function $addDomHandler(this$static, handler, type){
  var typeInt;
  typeInt = $eventGetTypeInt(type.name_0);
  typeInt == -1?$sinkBitlessEvent(this$static, type.name_0):this$static.sinkEvents(typeInt);
  return $addHandler_0(!this$static.handlerManager?(this$static.handlerManager = new HandlerManager_0(this$static)):this$static.handlerManager, type, handler);
}

function $addHandler(this$static, handler, type){
  return $addHandler_0(!this$static.handlerManager?(this$static.handlerManager = new HandlerManager_0(this$static)):this$static.handlerManager, type, handler);
}

function $fireEvent_1(this$static, event_0){
  !!this$static.handlerManager && $fireEvent_4(this$static.handlerManager, event_0);
}

--></script>
<script><!--
function $onAttach(this$static){
  var bitsToAdd;
  if (this$static.isAttached()) {
    throw new IllegalStateException_1("Should only call onAttach when the widget is detached from the browser's document");
  }
  this$static.attached = true;
  $setEventListener(this$static.getElement(), this$static);
  bitsToAdd = this$static.eventsToSink;
  this$static.eventsToSink = -1;
  bitsToAdd > 0 && this$static.sinkEvents(bitsToAdd);
  this$static.doAttachChildren();
  this$static.onLoad();
  fire_0(this$static, true);
}

function $onBrowserEvent(this$static, event_0){
  var related;
  switch ($eventGetTypeInt(event_0.type)) {
    case 16:
    case 32:
      related = event_0.relatedTarget;
      if (!!related && $isOrHasChild(this$static.getElement(), related)) {
        return;
      }

  }
  fireNativeEvent(event_0, this$static, this$static.getElement());
}

function $onDetach(this$static){
  if (!this$static.isAttached()) {
    throw new IllegalStateException_1("Should only call onDetach when the widget is attached to the browser's document");
  }
  try {
    this$static.onUnload();
    fire_0(this$static, false);
  }
   finally {
    try {
      this$static.doDetachChildren();
    }
     finally {
      this$static.getElement().__listener = null;
      this$static.attached = false;
    }
  }
}

function $removeFromParent_0(this$static){
  if (!this$static.parent_0) {
    $clinit_RootPanel();
    $contains_2(widgetsToDetach, this$static) && detachNow(this$static);
  }
   else if (instanceOf(this$static.parent_0, Q$HasWidgets)) {
    dynamicCast(this$static.parent_0, Q$HasWidgets).remove_5(this$static);
  }
   else if (this$static.parent_0) {
    throw new IllegalStateException_1("This widget's parent does not implement HasWidgets");
  }
}

function $replaceElement(this$static, elem){
  this$static.attached && (this$static.element.__listener = null , undefined);
  !!this$static.element && $replaceNode(this$static.element, elem);
  this$static.element = elem;
  this$static.attached && $setEventListener(this$static.element, this$static);
}

function $setParent(this$static, parent_0){
  var oldParent;
  oldParent = this$static.parent_0;
  if (!parent_0) {
    try {
      !!oldParent && oldParent.isAttached() && this$static.onDetach();
    }
     finally {
      this$static.parent_0 = null;
    }
  }
   else {
    if (oldParent) {
      throw new IllegalStateException_1('Cannot set a new parent without first clearing the old parent');
    }
    this$static.parent_0 = parent_0;
    parent_0.isAttached() && this$static.onAttach();
  }
}

function $sinkEvents(this$static, eventBitsToAdd){
  this$static.eventsToSink == -1?$sinkEvents_1(this$static.getElement(), eventBitsToAdd | (this$static.getElement().__eventBits || 0)):(this$static.eventsToSink |= eventBitsToAdd);
}

defineSeed(145, 146, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsWidget, Q$UIObject, Q$Widget]));
_.doAttachChildren = function doAttachChildren(){
}
;
_.doDetachChildren = function doDetachChildren(){
}
;
_.fireEvent = function fireEvent(event_0){
  $fireEvent_1(this, event_0);
}
;
_.isAttached = function isAttached(){
  return this.attached;
}
;
_.onAttach = function onAttach(){
  $onAttach(this);
}
;
_.onBrowserEvent = function onBrowserEvent_0(event_0){
  $onBrowserEvent(this, event_0);
}
;
_.onDetach = function onDetach(){
  $onDetach(this);
}
;
_.onLoad = function onLoad(){
}
;
_.onUnload = function onUnload(){
}
;
_.removeFromParent = function removeFromParent(){
  $removeFromParent_0(this);
}
;
_.sinkEvents = function sinkEvents(eventBitsToAdd){
  $sinkEvents(this, eventBitsToAdd);
}
;
_.attached = false;
_.eventsToSink = 0;
_.handlerManager = null;
_.parent_0 = null;
function $clinit_Component(){
  $clinit_Component = nullMethod;
  init();
}

function $addListener_0(this$static, eventType, listener){
  eventType.eventCode != -1 && $sinkEvents_0(this$static, eventType.eventCode);
  $addListener(this$static.observable, eventType, listener);
}

function $addStyleName_1(this$static, style){
  if (this$static.rendered) {
    $addStyleName(fly_1(this$static.getElement(), 'component'), initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, [style]));
  }
   else {
    !this$static.styleNames && (this$static.styleNames = new FastSet_0);
    $add_1(this$static.styleNames, style);
  }
}

function $disable(this$static){
  this$static.rendered && this$static.onDisable();
  this$static.disabled = true;
  $fireEvent_2(this$static, ($clinit_Events() , Disable));
}

function $disableTextSelection_0(this$static, disable){
  this$static.disableTextSelection = disable?1:0;
  this$static.isAttached() && $disableTextSelection(this$static.el, disable);
}

function $doAttachChildren(this$static){
  var a, a$iterator;
  if (this$static.attachables) {
    for (a$iterator = new AbstractList$IteratorImpl_0(this$static.attachables); a$iterator.i < a$iterator.this$0_0.size_1();) {
      a = dynamicCast($next_3(a$iterator), Q$ComponentAttachable);
      $doAttach(a);
    }
  }
}

function $doDetachChildren(this$static){
  var a, a$iterator;
  if (this$static.attachables) {
    for (a$iterator = new AbstractList$IteratorImpl_0(this$static.attachables); a$iterator.i < a$iterator.this$0_0.size_1();) {
      a = dynamicCast($next_3(a$iterator), Q$ComponentAttachable);
      a.el.dom_0.__listener = null;
      $disableTextSelection(a.el, false);
      $remove(a.preview);
    }
  }
}

function $enable(this$static){
  this$static.rendered && this$static.onEnable();
  this$static.disabled = false;
  $fireEvent_2(this$static, ($clinit_Events() , Enable));
}

function $fireEvent_2(this$static, type){
  var be;
  if (this$static.disableEvents)
    return true;
  be = this$static.createComponentEvent(null);
  be.type_0 = type;
  return $fireEvent_3(this$static, type, be);
}

function $fireEvent_3(this$static, type, ce){
  if (this$static.disableEvents)
    return true;
  return !ce?$fireEvent_2(this$static, type):$fireEvent(this$static.observable, type, ce);
}

function $focus(this$static){
  this$static.focused = true;
  this$static.rendered && $setFocus(this$static.getFocusEl(), true);
  $fireEvent_2(this$static, ($clinit_Events() , Focus));
}

function $getAriaSupport(this$static){
  !this$static.ariaSupport && (this$static.ariaSupport = new AriaSupport_0(this$static));
  return this$static.ariaSupport;
}

function $getData(this$static, key){
  if (!this$static.dataMap)
    return null;
  return $get(this$static.dataMap, key);
}

function $getElement(this$static){
  if (!this$static.rendered) {
    !this$static.dummy && (this$static.dummy = $doc.createElement('div'));
    return this$static.dummy;
  }
  return this$static.element;
}

function $getFocusSupport(this$static){
  !this$static.focusManagerSupport && (this$static.focusManagerSupport = new FocusManagerSupport_0);
  return this$static.focusManagerSupport;
}

function $getId_0(this$static){
  if (this$static.id_0 == null) {
    this$static.id_0 = ($clinit_XDOM() , 'x-auto-' + autoId++);
    $setId_0(this$static, this$static.id_0);
    return this$static.id_0;
  }
  return this$static.id_0;
}

function $getTitle(this$static){
  if (!this$static.afterRender) {
    return this$static.title_1 == null?'':this$static.title_1;
  }
  return $getPropertyString($getElement(this$static), 'title');
}

function $getToolTip(this$static){
  !this$static.toolTip && !!this$static.toolTipConfig_0 && (this$static.toolTip = new ToolTip_0(this$static, this$static.toolTipConfig_0));
  return this$static.toolTip;
}

function $hide_0(this$static){
  if ($fireEvent_2(this$static, ($clinit_Events() , BeforeHide))) {
    this$static.hidden = true;
    if (this$static.rendered) {
      this$static.onHide();
      this$static.notifyHide();
    }
    $fireEvent_2(this$static, Hide);
  }
}

function $initState(this$static){
  var ce, sid, st;
  if (this$static.stateful) {
    sid = $getId_0(this$static);
    st = $getMap_0(($clinit_StateManager() , sid));
    if (st) {
      ce = this$static.createComponentEvent(null);
      $fireEvent_3(this$static, ($clinit_Events() , BeforeStateRestore), ce) && $fireEvent_3(this$static, StateRestore, ce);
    }
  }
}

function $isVisible_0(this$static){
  var c, w;
  w = this$static.parent_0;
  if (w) {
    if (instanceOf(w, Q$Component)) {
      c = dynamicCast(w, Q$Component);
      return this$static.rendered && !this$static.hidden && $isVisible(this$static.el, false) && $isVisible_0(c);
    }
     else {
      return this$static.rendered && !this$static.hidden && w.isVisible() && $isVisible(this$static.el, true);
    }
  }
   else {
    return this$static.rendered && !this$static.hidden && $isVisible(this$static.el, true);
  }
}

function $mask_0(this$static, message, messageStyleName){
  this$static.mask = true;
  this$static.maskMessage = message;
  this$static.maskMessageStyleName = messageStyleName;
  if (this$static.rendered) {
    return $mask(this$static.el, message, messageStyleName);
  }
  return null;
}

function $onAttach_0(this$static){
  var index, parent_0, widgetIndex;
  if (!this$static.rendered) {
    widgetIndex = $getPropertyString(this$static.dummy, '__uiObjectID');
    parent_0 = $getParentElement(this$static.dummy);
    index = $getChildIndex(parent_0, this$static.dummy);
    $removeChild(parent_0, this$static.dummy);
    $render(this$static, parent_0, index);
    widgetIndex != null && (this$static.getElement()['__uiObjectID'] = __parseAndValidateInt(widgetIndex, 10) , undefined);
  }
  $onAttach(this$static);
}

function $onBrowserEvent_0(this$static, event_0){
  var ce, eventTarget, eventType, type;
  if (this$static.disabled || this$static.disableEvents || this$static.disableBrowserEvents) {
    return;
  }
  type = $eventGetTypeInt(event_0.type);
  if (($clinit_GXT() , isWebKit) && this$static.focusable && type == 1) {
    eventTarget = event_0.target;
    ($equalsIgnoreCase('input', this$static.getElement().tagName) || $getPropertyString(eventTarget, '__eventBits') == null) && this$static.focus_0();
  }
  ce = this$static.createComponentEvent(event_0);
  ce.event_0 = event_0;
  if (!$fireEvent_3(this$static, ($clinit_Events() , BrowserEvent), ce)) {
    return;
  }
  eventType = lookupBrowserEvent(type);
  ce.type_0 = eventType;
  this$static.onComponentEvent(ce);
  $fireEvent_3(this$static, eventType, ce);
  fireNativeEvent(event_0, this$static, this$static.getElement());
}

function $onDetachHelper(this$static){
  !!this$static.toolTip && $hide_2(this$static.toolTip);
  $clinit_GXT();
  focusManagerEnabled && $hide((!instance && (instance = new FocusFrame_0) , instance), this$static);
  this$static.disableTextSelection > 0 && $disableTextSelection(this$static.el, false);
  if (this$static.resizeHandler) {
    $removeHandler(this$static.resizeHandler.real);
    this$static.resizeHandler = null;
  }
  $fireEvent_2(this$static, ($clinit_Events() , Detach));
  $unregister(($clinit_ComponentManager() , $clinit_ComponentManager() , instance_3), this$static);
}

function $onHide(this$static){
  $addStyleName_1(this$static, this$static.hideMode.value_0);
  !!this$static.toolTip && $hide_2(this$static.toolTip);
  $clinit_GXT();
  focusManagerEnabled && $hide((!instance && (instance = new FocusFrame_0) , instance), this$static);
}

function $onLoad(this$static){
  this$static.disableTextSelection > 0 && $disableTextSelection_0(this$static, this$static.disableTextSelection == 1);
  addCommand(new Component$2_0(this$static));
  $fireEvent_2(this$static, ($clinit_Events() , Attach));
  $register_1(($clinit_ComponentManager() , $clinit_ComponentManager() , instance_3), this$static);
}

function $removeListener_0(this$static, eventType, listener){
  $removeListener(this$static.observable, eventType, listener);
}

function $removeStyleName_2(this$static, style){
  this$static.rendered?$removeStyleName(fly_1(this$static.getElement(), 'component'), style):style != null && !!this$static.styleNames && $remove_2(this$static.styleNames, style);
}

function $removeToolTip(this$static){
  if (this$static.toolTip) {
    $initTarget_0(this$static.toolTip, null);
    this$static.toolTip = null;
    this$static.toolTipConfig_0 = null;
  }
}

function $render(this$static, target, index){
  var name_0, name$iterator, s, s$iterator, states, input, style;
  if (this$static.rendered || !$fireEvent_2(this$static, ($clinit_Events() , BeforeRender))) {
    return;
  }
  $initState(this$static);
  this$static.rendered = true;
  this$static.createStyles(this$static.baseStyle);
  if (!this$static.setElementRender) {
    index == -1 && (index = $getChildCount(target));
    this$static.onRender(target, index);
  }
  this$static.events != 0 && $sinkEvents_0(this$static, this$static.events);
  if (this$static.ariaSupport) {
    this$static.ariaSupport.labelledBy != null && $setLabelledBy(this$static.ariaSupport, this$static.ariaSupport.labelledBy);
    this$static.ariaSupport.label != null && $setLabel(this$static.ariaSupport, this$static.ariaSupport.label);
    this$static.ariaSupport.describedBy != null && $setDescribedBy(this$static.ariaSupport, this$static.ariaSupport.describedBy);
    this$static.ariaSupport.description != null && $setDescription(this$static.ariaSupport, this$static.ariaSupport.description);
    if (this$static.ariaSupport.presentation) {
      this$static.getElement().setAttribute('role', 'presentation');
      this$static.focusManagerSupport.ignore = true;
    }
    this$static.ariaSupport.role != null && $setRole(this$static.ariaSupport, this$static.ariaSupport.role);
    states = this$static.ariaSupport.states;
    for (name$iterator = $iterator($keySet(states)); name$iterator.val$outerIter.hasNext();) {
      name_0 = dynamicCast($next_4(name$iterator), Q$String);
      $setState(this$static.ariaSupport, name_0, dynamicCast(name_0 == null?states.nullSlot:name_0 != null?states.stringMap[':' + name_0]:$getHashValue(states, null, ~~getHashCode_0(null)), Q$String));
    }
  }
  this$static.id_0 == null?(this$static.id_0 = $getId(this$static.el)):$setId_1(this$static.getElement(), this$static.id_0);
  this$static.tabIndex_1 != -1 && this$static.setTabIndex(this$static.tabIndex_1);
  this$static.baseStyle != null && $addStyleName(fly_1(this$static.getElement(), 'component'), initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, [this$static.baseStyle]));
  if (this$static.cls != null) {
    $setStyleName_2(this$static, this$static.cls);
    this$static.cls = null;
  }
  if (this$static.styleNames) {
    for (s$iterator = $keySet_0((new FastMap$2_0(this$static.styleNames.map)).this$0.map).iterator_0(); s$iterator.i < s$iterator.this$0_0.size_1();) {
      s = dynamicCast($next_3(s$iterator), Q$String);
      $addStyleName(fly_1(this$static.getElement(), 'component'), initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, [s]));
    }
    this$static.styleNames = null;
  }
  $addStyleName_1(this$static, 'x-component');
  this$static.title_1 != null && $setTitle_0(this$static, this$static.title_1);
  if (this$static.styles != null && !$equals_2(this$static.styles, '')) {
    $applyStyles(this$static.el, this$static.styles);
    this$static.styles = null;
  }
  this$static.focused && addCommand(new Component$1_0(this$static));
  this$static.borders != -1 && $setBorders_0(this$static, this$static.borders == 1);
  if (this$static.focusable && ($clinit_GXT() , isWebKit)) {
    this$static.focusEl = new El_0((input = $createInputElement($doc, 'text') , input.className = '_focus' , style = input.style , style['opacity'] = '0' , style['zIndex'] = '-1' , style['overflow'] = 'hidden' , style['position'] = 'absolute' , style['height'] = 0 + ($clinit_Style$Unit() , 'px') , style['borderWidth'] = '0' , style['width'] = '0px' , input));
    $appendChild_0(this$static.getElement(), this$static.focusEl.dom_0);
  }
  this$static.afterRender = true;
  this$static.afterRender_0();
  this$static.hidden && this$static.hide();
  this$static.disabled && this$static.disable();
  $fireEvent_2(this$static, ($clinit_Events() , Render));
}

function $setAriaRole(this$static, roleName){
  $setAttribute(this$static.getElement(), 'role', roleName);
}

function $setBorders_0(this$static, show){
  this$static.borders = show?1:0;
  this$static.rendered && $setBorders(fly_1(this$static.getElement(), 'component'), show);
}

function $setData(this$static, key, data){
  !this$static.dataMap && (this$static.dataMap = new FastMap_0);
  $put(this$static.dataMap, key, data);
}

function $setEl(this$static, el){
  this$static.el = el;
}

function $setElement_0(this$static, elem){
  this$static.el = new El_0(elem);
  this$static.element = elem;
  if (!this$static.rendered) {
    this$static.setElementRender = true;
    $render(this$static, null, -1);
  }
}

function $setElement_1(this$static, elem, parent_0, index){
  $setElement_0(this$static, elem);
  $insertChild_0(parent_0, ($clinit_PotentialElement() , $resolve(elem)), index);
}

function $setEnabled(this$static, enabled){
  enabled?$enable(this$static):$disable(this$static);
}

function $setHideMode(this$static, hideMode){
  this$static.hideMode = hideMode;
}

function $setId_0(this$static, id){
  this$static.id_0 = id;
  !!this$static.el && $setId_1(this$static.getElement(), id);
}

function $setItemId(this$static, id){
  this$static.itemId = id;
}

function $setStyleAttribute_1(this$static, attr, value){
  this$static.rendered?$setStyleAttribute(this$static.el, attr, value):(this$static.styles += attr + ':' + value + ';');
}

function $setStyleName_2(this$static, style){
  if (this$static.rendered) {
    this$static.getElement()['className'] = style;
  }
   else {
    this$static.cls = style;
    this$static.styleNames = null;
  }
}

function $setTitle_0(this$static, title){
  this$static.title_1 = title;
  this$static.rendered && (title == null || title.length == 0?(this$static.getElement().removeAttribute('title') , undefined):$setAttribute(this$static.getElement(), 'title', title));
}

function $setToolTip(this$static, config){
  this$static.toolTipConfig_0 = config;
  if (config) {
    !this$static.toolTip?(this$static.toolTip = new ToolTip_0(this$static, config)):$update_1(this$static.toolTip, config);
    $setDescribedBy((!this$static.ariaSupport && (this$static.ariaSupport = new AriaSupport_0(this$static)) , this$static.ariaSupport), $getId_0(this$static.toolTip));
  }
   else 
    $removeToolTip(this$static);
}

function $setToolTip_0(this$static, text){
  !this$static.toolTipConfig_0 && (this$static.toolTipConfig_0 = new ToolTipConfig_0);
  $setText_4(this$static.toolTipConfig_0, text);
  $setToolTip(this$static, this$static.toolTipConfig_0);
}

function $setVisible(this$static, visible){
  visible?this$static.show():this$static.hide();
}

function $show_0(this$static){
  if ($fireEvent_2(this$static, ($clinit_Events() , BeforeShow))) {
    this$static.hidden = false;
    if (this$static.rendered) {
      this$static.onShow();
      this$static.notifyShow();
    }
    $fireEvent_2(this$static, Show);
  }
}

function $sinkEvents_0(this$static, eventBitsToAdd){
  this$static.rendered?this$static.eventsToSink == -1?$sinkEvents_1(this$static.getElement(), eventBitsToAdd | (this$static.getElement().__eventBits || 0)):(this$static.eventsToSink |= eventBitsToAdd):(this$static.events |= eventBitsToAdd);
}

function Component_0(){
  this.windowResizeDelay = ($clinit_GXT() , isGecko) || isSafari2?100:0;
  this.hideMode = ($clinit_Style$HideMode() , DISPLAY);
  this.observable = new BaseObservable_0;
}

defineSeed(144, 145, makeCastMap([Q$Observable, Q$Component, Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsWidget, Q$UIObject, Q$Widget]));
_.addStyleName = function addStyleName_0(style){
  $addStyleName_1(this, style);
}
;
_.afterRender_0 = function afterRender(){
  this.mask && $mask_0(this, this.maskMessage, this.maskMessageStyleName);
}
;
_.createComponentEvent = function createComponentEvent(event_0){
  return new ComponentEvent_1(this, event_0);
}
;
_.createStyles = function createStyles(baseStyle){
}
;
_.disable = function disable_0(){
  $disable(this);
}
;
_.doAttachChildren = function doAttachChildren_0(){
  $doAttachChildren(this);
}
;
_.doDetachChildren = function doDetachChildren_0(){
  $doDetachChildren(this);
}
;
_.enable = function enable_0(){
  $enable(this);
}
;
_.focus_0 = function focus_1(){
  $focus(this);
}
;
_.getElement = function getElement_0(){
  return $getElement(this);
}
;
_.getFocusEl = function getFocusEl(){
  return !this.focusEl?this.el:this.focusEl;
}
;
_.hide = function hide(){
  $hide_0(this);
}
;
_.isVisible = function isVisible_0(){
  return $isVisible_0(this);
}
;
_.notifyHide = function notifyHide(){
}
;
_.notifyShow = function notifyShow(){
}
;
_.onAttach = function onAttach_0(){
  $onAttach_0(this);
}
;
_.onBrowserEvent = function onBrowserEvent_1(event_0){
  $onBrowserEvent_0(this, event_0);
}
;
_.onComponentEvent = function onComponentEvent(ce){
}
;
_.onDetach = function onDetach_0(){
  $onDetach(this);
  $onDetachHelper(this);
}
;
_.onDisable = function onDisable(){
  $addStyleName_1(this, this.disabledStyle);
}
;
_.onEnable = function onEnable(){
  $removeStyleName_2(this, this.disabledStyle);
  $clearOpacity(this.el);
}
;
_.onHide = function onHide(){
  $onHide(this);
}
;
_.onLoad = function onLoad_0(){
  $onLoad(this);
}
;
_.onRender = function onRender(target, index){
}
;
_.onShow = function onShow(){
  $removeStyleName_2(this, this.hideMode.value_0);
  $clinit_GXT();
  focusManagerEnabled && $show((!instance && (instance = new FocusFrame_0) , instance), this);
}
;
_.onWindowResize = function onWindowResize(width, height){
}
;
_.removeFromParent = function removeFromParent_0(){
  instanceOf(this.parent_0, Q$Container) && dynamicCast(this.parent_0, Q$Container).remove_4(this);
  $removeFromParent_0(this);
}
;
_.removeStyleName = function removeStyleName_0(style){
  $removeStyleName_2(this, style);
}
;
_.setAriaState = function setAriaState(stateName, stateValue){
  $setAttribute(this.getElement(), stateName, stateValue);
}
;
_.setHeight_1 = function setHeight_2(height){
}
;
_.setSize = function setSize_0(width, height){
}
;
_.setTabIndex = function setTabIndex(tabIndex){
  this.tabIndex_1 = tabIndex;
  this.rendered && $setTabIndex(this.el, tabIndex);
}
;
_.setTitle = function setTitle_0(title){
  $setTitle_0(this, title);
}
;
_.setVisible_0 = function setVisible_2(visible){
  $setVisible(this, visible);
}
;
_.setWidth_1 = function setWidth_2(width){
}
;
_.show = function show_0(){
  $show_0(this);
}
;
_.sinkEvents = function sinkEvents_0(eventBitsToAdd){
  $sinkEvents_0(this, eventBitsToAdd);
}
;
_.toString$ = function toString_14(){
  return this.el?this.el.dom_0.getAttribute('outerHTML') || '':$toString_2(this);
}
;
_.afterRender = false;
_.ariaSupport = null;
_.attachables = null;
_.baseStyle = null;
_.borders = -1;
_.cls = null;
_.dataMap = null;
_.disableBrowserEvents = false;
_.disableEvents = false;
_.disableTextSelection = -1;
_.disabled = false;
_.disabledStyle = 'x-item-disabled';
_.dummy = null;
_.el = null;
_.events = 0;
_.focusEl = null;
_.focusManagerSupport = null;
_.focusable = false;
_.focused = false;
_.hidden = false;
_.id_0 = null;
_.itemId = null;
_.mask = false;
_.maskMessage = null;
_.maskMessageStyleName = null;
_.monitorWindowResize = false;
_.observable = null;
_.rendered = false;
_.resizeHandler = null;
_.setElementRender = false;
_.stateful = false;
_.styleNames = null;
_.styles = '';
_.tabIndex_1 = -1;
_.title_1 = null;
_.toolTip = null;
_.toolTipConfig_0 = null;
_.windowResizeTask = null;
function $afterRender(this$static){
  this$static.mask && $mask_0(this$static, this$static.maskMessage, this$static.maskMessageStyleName);
  this$static.boxReady = true;
  if (this$static.shadow || this$static.shim && ($clinit_GXT() , useShims)) {
    this$static.layer = new Layer_0(this$static.getElement());
    if (this$static.shadow) {
      this$static.layer.shadowEnabled = true;
      $setShadowPosition(this$static.layer, this$static.shadowPosition);
      $setShadowOffset(this$static.layer);
    }
    this$static.shim && ($clinit_GXT() , useShims) && (this$static.layer.shimEnabled = true);
    $setEl(this$static, this$static.layer);
  }
  (this$static.width_0 != null || this$static.height_0 != null) && $setSize_3(this$static, this$static.width_0, this$static.height_0);
  (this$static.left_0 != -1 || this$static.top_0 != -1) && $setPosition(this$static, this$static.left_0, this$static.top_0);
  (this$static.pageX_0 != -1 || this$static.pageY_0 != -1) && $setPagePosition(this$static, this$static.pageX_0, this$static.pageY_0);
}

function $makeVisible(this$static){
  var hasxhideoffset, list, m_0, p;
  if (this$static.ensureVisibilityOnSizing) {
    list = new ArrayList_0;
    p = this$static.getElement();
    while (!!p && p != getBody()) {
      if ($isStyleAttribute(fly_1(p, 'component'), 'display', 'none')) {
        m_0 = new FastMap_0;
        $put_1(m_0.map, 'element', p);
        $put_0(m_0, 'origd', p.style['display']);
        hasxhideoffset = $hasStyleName(fly_1(p, 'component'), 'x-hide-offset');
        $put_0(m_0, 'hasxhideoffset', ($clinit_Boolean() , hasxhideoffset?TRUE_0:FALSE_0));
        hasxhideoffset || $addStyleName(fly_1(p, 'component'), initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['x-hide-offset']));
        p.style['display'] = 'block';
        setCheck(list.array, list.size_0++, m_0);
      }
      p = $getParentElement(p);
    }
    return list;
  }
  return null;
}

function $onShow(this$static){
  $removeStyleName_2(this$static, this$static.hideMode.value_0);
  $clinit_GXT();
  focusManagerEnabled && $show((!instance && (instance = new FocusFrame_0) , instance), this$static);
  !!this$static.layer && $sync_0(this$static.layer);
}

function $restoreVisible(this$static, list){
  var e, m_0, m$iterator;
  if (this$static.ensureVisibilityOnSizing && !!list) {
    for (m$iterator = new AbstractList$IteratorImpl_0(list); m$iterator.i < m$iterator.this$0_0.size_1();) {
      m_0 = dynamicCast($next_3(m$iterator), Q$FastMap);
      e = dynamicCastJso(m_0.map['element']);
      e.style['display'] = dynamicCast(m_0.map['origd'], Q$String);
      dynamicCast(m_0.map['hasxhideoffset'], Q$Boolean).value_0 || $removeStyleName(fly_1(e, 'component'), 'x-hide-offset');
    }
  }
}

function $setPagePosition(this$static, x, y){
  var p;
  x != -1 && (this$static.pageX_0 = x);
  y != -1 && (this$static.pageY_0 = y);
  if (!this$static.boxReady) {
    return;
  }
  p = $translatePoints(this$static.el, new Point_0(x, y));
  $setPosition(this$static, p.x, p.y);
}

function $setPosition(this$static, left, top_0){
  var ax, ay, be, p, pel;
  this$static.left_0 = left;
  this$static.top_0 = top_0;
  if (!this$static.boxReady) {
    return;
  }
  p = new Point_0(left, top_0);
  p = p;
  ax = p.x;
  ay = p.y;
  pel = this$static.el;
  if (ax != -1 || ay != -1) {
    ax != -1 && ay != -1?$setLeftTop(pel, ax, ay):ax != -1?pel.setLeft(ax):ay != -1 && pel.setTop(ay);
    $clinit_GXT();
    focusManagerEnabled && $sync((!instance && (instance = new FocusFrame_0) , instance), this$static);
    be = this$static.createComponentEvent(null);
    $fireEvent_3(this$static, ($clinit_Events() , Move), be);
  }
}

function $setSize_2(this$static, width, height){
  var ah, aw, ce, list, size;
  if (!this$static.boxReady) {
    width != -1 && (this$static.width_0 = width + 'px');
    height != -1 && (this$static.height_0 = height + 'px');
    return;
  }
  size = new Size_0(width, height);
  if (!!this$static.lastSize && $equals_0(this$static.lastSize, size)) {
    return;
  }
  list = $makeVisible(this$static);
  this$static.lastSize = size;
  aw = size.width_0;
  ah = size.height_0;
  this$static.autoWidth && (this$static.rendered?$setStyleAttribute(this$static.el, 'width', 'auto'):(this$static.styles += 'width:auto;'));
  this$static.autoHeight && (this$static.rendered?$setStyleAttribute(this$static.el, 'height', 'auto'):(this$static.styles += 'height:auto;'));
  !this$static.autoWidth && !this$static.autoHeight && !this$static.deferHeight?$setSize_0(this$static.el, aw, ah, true):this$static.autoWidth?!this$static.autoHeight && !this$static.deferHeight && this$static.el.setHeight(ah, true):this$static.el.setWidth(aw, true);
  this$static.onResize(aw, ah);
  !!this$static.layer && $sync_0(this$static.layer);
  $clinit_GXT();
  focusManagerEnabled && $sync((!instance && (instance = new FocusFrame_0) , instance), this$static);
  $restoreVisible(this$static, list);
  ce = this$static.createComponentEvent(null);
  $fireEvent_3(this$static, ($clinit_Events() , Resize), ce);
}

--></script>
<script><!--
function $setSize_3(this$static, width, height){
  var evt, h_0, list, size, w;
  if (!this$static.boxReady) {
    width != null && !$equals_2(width, 'undefined') && (this$static.width_0 = width);
    height != null && !$equals_2(height, 'undefined') && (this$static.height_0 = height);
    return;
  }
  width == null && (width = 'undefined');
  height == null && (height = 'undefined');
  $equals_2(width, 'undefined') || (width = addUnits(width, 'px'));
  $equals_2(height, 'undefined') || (height = addUnits(height, 'px'));
  if ($equals_2(height, 'undefined') && $endsWith(width, 'px') || $equals_2(width, 'undefined') && $endsWith(height, 'px') || $endsWith(width, 'px') && $endsWith(height, 'px')) {
    $setSize_2(this$static, parseInt_0(width, -1), parseInt_0(height, -1));
    return;
  }
  this$static.autoWidth?this$static.el.setWidth_0('auto'):$equals_2(width, 'undefined') || this$static.el.setWidth_0(width);
  this$static.autoHeight?this$static.el.setHeight_0('auto'):$equals_2(height, 'undefined') || this$static.deferHeight || this$static.el.setHeight_0(height);
  w = -1;
  h_0 = -1;
  list = $makeVisible(this$static);
  width.indexOf('px') != -1?(w = __parseAndValidateInt($substring_0(width, 0, width.indexOf('px')), 10)):this$static.autoWidth || $equals_2('auto', width)?(w = -1):$equals_2(width, 'undefined') || (w = $getPropertyInt(this$static.getElement(), 'offsetWidth'));
  height.indexOf('px') != -1?(h_0 = __parseAndValidateInt($substring_0(height, 0, height.indexOf('px')), 10)):this$static.autoHeight || $equals_2('auto', height)?(h_0 = -1):$equals_2(height, 'undefined') || (h_0 = $getPropertyInt(this$static.getElement(), 'offsetHeight'));
  size = new Size_0(w, h_0);
  if (!!this$static.lastSize && $equals_0(this$static.lastSize, size)) {
    return;
  }
  this$static.lastSize = size;
  this$static.onResize(w, h_0);
  !!this$static.layer && $sync_0(this$static.layer);
  $clinit_GXT();
  focusManagerEnabled && $sync((!instance && (instance = new FocusFrame_0) , instance), this$static);
  $restoreVisible(this$static, list);
  evt = this$static.createComponentEvent(null);
  $fireEvent_3(this$static, ($clinit_Events() , Resize), evt);
}

function BoxComponent_0(){
  Component_0.call(this);
  this.shadowPosition = ($clinit_Layer$ShadowPosition() , SIDES);
}

defineSeed(143, 144, makeCastMap([Q$Observable, Q$BoxComponent, Q$Component, Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsWidget, Q$UIObject, Q$Widget]));
_.afterRender_0 = function afterRender_0(){
  $afterRender(this);
}
;
_.createComponentEvent = function createComponentEvent_0(event_0){
  var e;
  e = new BoxComponentEvent_0(this, event_0);
  return e;
}
;
_.onHide = function onHide_0(){
  $onHide(this);
  !!this.layer && $hideUnders(this.layer);
}
;
_.onResize = function onResize(width, height){
  this.mask && $mask_0(this, this.maskMessage, this.maskMessageStyleName);
}
;
_.onShow = function onShow_0(){
  $onShow(this);
}
;
_.onUnload = function onUnload_0(){
  this.hidden || !!this.layer && $hideUnders(this.layer);
}
;
_.setHeight_1 = function setHeight_3(height){
  $setSize_3(this, 'undefined', height);
}
;
_.setSize = function setSize_1(width, height){
  $setSize_3(this, width, height);
}
;
_.setWidth_1 = function setWidth_3(width){
  $setSize_3(this, width, 'undefined');
}
;
_.autoHeight = false;
_.autoWidth = false;
_.boxReady = false;
_.deferHeight = false;
_.ensureVisibilityOnSizing = false;
_.height_0 = null;
_.lastSize = null;
_.layer = null;
_.left_0 = -1;
_.pageX_0 = -1;
_.pageY_0 = -1;
_.shadow = false;
_.shim = false;
_.top_0 = -1;
_.width_0 = null;
function Component$1_0(this$0){
  this.this$0 = this$0;
}

defineSeed(147, 1, makeCastMap([Q$Command]), Component$1_0);
_.execute = function execute_3(){
  this.this$0.focus_0();
}
;
_.this$0 = null;
function Component$2_0(this$0){
  this.this$0 = this$0;
}

defineSeed(148, 1, makeCastMap([Q$Command]), Component$2_0);
_.execute = function execute_4(){
  if (this.this$0.monitorWindowResize && this.this$0.isAttached()) {
    !this.this$0.windowResizeTask && (this.this$0.windowResizeTask = new DelayedTask_0(new Component$2$1_0(this)));
    this.this$0.resizeHandler = addResizeHandler(new Component$2$2_0(this));
  }
}
;
_.this$0 = null;
function Component$2$1_0(this$1){
  this.this$1 = this$1;
}

defineSeed(149, 1, makeCastMap([Q$Listener]), Component$2$1_0);
_.handleEvent = function handleEvent_1(be){
  this.this$1.this$0.onWindowResize($getClientWidth_0($doc), $getClientHeight_0($doc));
}
;
_.this$1 = null;
function Component$2$2_0(this$1){
  this.this$1 = this$1;
}

defineSeed(150, 1, makeCastMap([Q$ResizeHandler, Q$EventHandler]), Component$2$2_0);
_.onResize_0 = function onResize_0(event_0){
  $delay(this.this$1.this$0.windowResizeTask, this.this$1.this$0.windowResizeDelay);
}
;
_.this$1 = null;
function doAttach(widget){
  !!widget && !widget.isAttached() && (widget.onAttach() , undefined);
}

function doDetach(widget){
  !!widget && widget.isAttached() && (widget.onDetach() , undefined);
}

function removeFromParent_1(widget){
  var cp, parent_0;
  parent_0 = widget.parent_0;
  if (instanceOf(parent_0, Q$ContentPanel)) {
    cp = dynamicCast(parent_0, Q$ContentPanel);
    if (cp.topComponent == widget) {
      return;
    }
     else if (cp.bottomComponent == widget) {
      return;
    }
  }
  if (instanceOf(parent_0, Q$Container)) {
    dynamicCast(parent_0, Q$Container).remove_4(dynamicCast(widget, Q$Component));
    return;
  }
  if (instanceOf(parent_0, Q$WidgetComponent)) {
    widget.parent_0 = null;
    return;
  }
  widget.removeFromParent();
}

function setLayoutData(c, data){
  var parent_0;
  parent_0 = c.parent_0;
  !c.dataMap && (c.dataMap = new FastMap_0);
  $put(c.dataMap, 'layoutData', data);
  !!parent_0 && instanceOf(parent_0, Q$Container) && (dynamicCast(parent_0, Q$Container).layoutNeeded = true);
}

function setParent(parent_0, child){
  child.parent_0 = parent_0;
}

function $clinit_ComponentManager(){
  $clinit_ComponentManager = nullMethod;
  instance_3 = new ComponentManager_0;
}

function $find(this$static, target){
  var c;
  while (target) {
    c = dynamicCast($get(this$static.map, target.id), Q$Component);
    if (c) {
      return c;
    }
     else {
      target = $getParentElement(target);
    }
  }
  return null;
}

function $get_2(this$static, id){
  return dynamicCast($get(this$static.map, id), Q$Component);
}

function $register_1(this$static, component){
  $put(this$static.map, $getId_0(component), component);
  $fireEvent(this$static, ($clinit_Events() , Register), new ComponentManagerEvent_0);
}

function $unregister(this$static, component){
  $remove_0(this$static.map, $getId_0(component));
  $fireEvent(this$static, ($clinit_Events() , Unregister), new ComponentManagerEvent_0);
}

function ComponentManager_0(){
  this.map = new FastMap_0;
}

defineSeed(152, 50, makeCastMap([Q$Observable]), ComponentManager_0);
_.map = null;
var instance_3;
function $add_7(this$static, item){
  return this$static.insert(item, this$static.items.size_0);
}

function $adjustIndex(this$static, child, beforeIndex){
  var idx;
  idx = $indexOf_1(this$static.items, child, 0);
  idx != -1 && idx < beforeIndex && --beforeIndex;
  return beforeIndex;
}

function $attachChildren(this$static){
  var item, item$iterator;
  if (this$static.attachChildren && this$static.attached) {
    for (item$iterator = new AbstractList$IteratorImpl_0(this$static.items); item$iterator.i < item$iterator.this$0_0.size_1();) {
      item = dynamicCast($next_3(item$iterator), Q$Component);
      item.rendered && !!item && !item.isAttached() && (item.onAttach() , undefined);
    }
  }
}

function $disable_0(this$static){
  var c, c$iterator;
  $disable(this$static);
  for (c$iterator = new AbstractList$IteratorImpl_0(this$static.items); c$iterator.i < c$iterator.this$0_0.size_1();) {
    c = dynamicCast($next_3(c$iterator), Q$Component);
    c.disable();
  }
}

function $doDetachChildren_0(this$static){
  var item, item$iterator;
  $doDetachChildren(this$static);
  if (this$static.attachChildren) {
    for (item$iterator = new AbstractList$IteratorImpl_0(this$static.items); item$iterator.i < item$iterator.this$0_0.size_1();) {
      item = dynamicCast($next_3(item$iterator), Q$Component);
      item.rendered && !!item && item.isAttached() && (item.onDetach() , undefined);
    }
  }
}

function $doLayout(this$static, force){
  var c, c$iterator, con;
  if (!this$static.enableLayout || !force && !$fireEvent_3(this$static, ($clinit_Events() , BeforeLayout), this$static.createContainerEvent(null))) {
    return false;
  }
  !this$static.layout_0 && this$static.setLayout(new FlowLayout_0);
  for (c$iterator = new AbstractList$IteratorImpl_0(this$static.items); c$iterator.i < c$iterator.this$0_0.size_1();) {
    c = dynamicCast($next_3(c$iterator), Q$Component);
    instanceOf(c, Q$ContentPanel) && $layoutBars(dynamicCast(c, Q$ContentPanel));
  }
  (force || this$static.layoutNeeded) && $layout_0(this$static.layout_0);
  for (c$iterator = new AbstractList$IteratorImpl_0(this$static.items); c$iterator.i < c$iterator.this$0_0.size_1();) {
    c = dynamicCast($next_3(c$iterator), Q$Component);
    if (instanceOf(c, Q$LayoutContainer)) {
      $layout(dynamicCast(c, Q$LayoutContainer), force);
    }
     else if (instanceOf(c, Q$Container)) {
      con = dynamicCast(c, Q$Container);
      !!con.layout_0 && con.layout_2(force);
    }
  }
  $fireEvent_3(this$static, ($clinit_Events() , AfterLayout), this$static.createContainerEvent(null));
  return true;
}

function $enable_0(this$static){
  var c, c$iterator;
  $enable(this$static);
  for (c$iterator = new AbstractList$IteratorImpl_0(this$static.items); c$iterator.i < c$iterator.this$0_0.size_1();) {
    c = dynamicCast($next_3(c$iterator), Q$Component);
    c.enable();
  }
}

function $findItem(this$static, elem){
  var c, c$iterator;
  for (c$iterator = new AbstractList$IteratorImpl_0(this$static.items); c$iterator.i < c$iterator.this$0_0.size_1();) {
    c = dynamicCast($next_3(c$iterator), Q$Component);
    if ($isOrHasChild(c.getElement(), elem)) {
      return c;
    }
  }
  return null;
}

function $getItem(this$static, index){
  return index < this$static.items.size_0?dynamicCast($get_6(this$static.items, index), Q$Component):null;
}

function $indexOf(this$static, item){
  return $indexOf_1(this$static.items, item, 0);
}

function $insert_0(this$static, item, index){
  var componentEvent, containerEvent;
  containerEvent = this$static.createContainerEvent(item);
  if ($fireEvent_3(this$static, ($clinit_Events() , BeforeAdd), containerEvent)) {
    componentEvent = item.createComponentEvent(null);
    if ($fireEvent_3(item, BeforeAdopt, componentEvent)) {
      index = $adjustIndex(this$static, item, index);
      instanceOf(item.parent_0, Q$Container) && dynamicCast(item.parent_0, Q$Container).remove_4(item);
      $removeFromParent_0(item);
      item.rendered && item.el.remove_0();
      $add_16(this$static.items, index, item);
      this$static.onInsert(item, index);
      item.parent_0 = this$static;
      $fireEvent_3(item, Adopt, componentEvent);
      $fireEvent_3(this$static, Add, containerEvent);
      this$static.layoutNeeded = true;
      this$static.rendered && this$static.layoutOnChange && this$static.layout_1();
      return true;
    }
  }
  return false;
}

function $layout(this$static, force){
  if (!this$static.rendered) {
    this$static.layoutOnAttach = true;
    return false;
  }
  return $doLayout(this$static, force);
}

function $notifyHide(this$static){
  var c, c$iterator;
  for (c$iterator = new AbstractList$IteratorImpl_0(this$static.items); c$iterator.i < c$iterator.this$0_0.size_1();) {
    c = dynamicCast($next_3(c$iterator), Q$Component);
    !c.hidden && c.rendered && c.notifyHide();
  }
}

function $notifyShow(this$static){
  var c, c$iterator;
  for (c$iterator = new AbstractList$IteratorImpl_0(this$static.items); c$iterator.i < c$iterator.this$0_0.size_1();) {
    c = dynamicCast($next_3(c$iterator), Q$Component);
    !c.hidden && c.rendered && c.notifyShow();
  }
}

function $onLayoutExcecuted(this$static){
  this$static.layoutExecuted = true;
  this$static.layoutNeeded = false;
  $attachChildren(this$static);
  !!this$static.layer && $sync_0(this$static.layer);
}

function $remove_3(this$static, component){
  var componentEvent, containerEvent, elem, parent_0;
  containerEvent = this$static.createContainerEvent(component);
  containerEvent.item = component;
  $indexOf_1(this$static.items, component, 0);
  if ($fireEvent_3(this$static, ($clinit_Events() , BeforeRemove), containerEvent)) {
    componentEvent = component.createComponentEvent(null);
    if ($fireEvent_3(component, BeforeOrphan, componentEvent)) {
      this$static.onRemove(component);
      this$static.attachChildren && (component.isAttached() && !!component && component.isAttached() && (component.onDetach() , undefined) , component.parent_0 = null , undefined);
      if (this$static.rendered) {
        elem = component.getElement();
        parent_0 = $getParentElement(elem);
        !!parent_0 && parent_0.removeChild(elem);
      }
      $remove_15(this$static.items, component);
      $fireEvent_3(component, Orphan, componentEvent);
      $fireEvent_3(this$static, Remove, containerEvent);
      this$static.layoutNeeded = true;
      this$static.rendered && this$static.layoutOnChange && this$static.layout_1();
      return true;
    }
  }
  return false;
}

function $removeAll(this$static){
  var count, i;
  count = this$static.items.size_0;
  for (i = 0; i < count; ++i) {
    $remove_3(this$static, 0 < this$static.items.size_0?dynamicCast($get_6(this$static.items, 0), Q$Component):null);
  }
  return this$static.items.size_0 == 0;
}

function $setLayout(this$static, layout){
  !this$static.layoutListener && (this$static.layoutListener = new Container$1_0(this$static));
  if (this$static.layout_0) {
    $removeListener(this$static.layout_0, ($clinit_Events() , BeforeLayout), this$static.layoutListener);
    $removeListener(this$static.layout_0, AfterLayout, this$static.layoutListener);
    this$static.layout_0.setContainer(null);
  }
  this$static.layout_0 = layout;
  $addListener(this$static.layout_0, ($clinit_Events() , BeforeLayout), this$static.layoutListener);
  $addListener(this$static.layout_0, AfterLayout, this$static.layoutListener);
  this$static.layoutNeeded = true;
  layout.setContainer(this$static);
}

function Container_0(){
  BoxComponent_0.call(this);
  this.items = new ArrayList_0;
}

defineSeed(153, 143, makeCastMap([Q$Observable, Q$BoxComponent, Q$Component, Q$Container, Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsWidget, Q$UIObject, Q$Widget]));
_.createContainerEvent = function createContainerEvent(item){
  return new ContainerEvent_1(this, item);
}
;
_.disable = function disable_1(){
  $disable_0(this);
}
;
_.doAttachChildren = function doAttachChildren_1(){
  $doAttachChildren(this);
  $attachChildren(this);
}
;
_.doDetachChildren = function doDetachChildren_1(){
  $doDetachChildren_0(this);
}
;
_.enable = function enable_1(){
  $enable_0(this);
}
;
_.getLayout = function getLayout(){
  return this.layout_0;
}
;
_.getLayoutTarget = function getLayoutTarget(){
  return this.el;
}
;
_.insert = function insert(item, index){
  return $insert_0(this, item, index);
}
;
_.layout_1 = function layout_0(){
  return this.layout_2(false);
}
;
_.layout_2 = function layout_1(force){
  return $layout(this, force);
}
;
_.notifyHide = function notifyHide_0(){
  $notifyHide(this);
}
;
_.notifyShow = function notifyShow_0(){
  $notifyShow(this);
}
;
_.onAttach = function onAttach_1(){
  var parent_0, parentIsContainer;
  $onAttach_0(this);
  if (!this.layoutExecuted && this.layoutOnAttach) {
    parentIsContainer = !!this.parent_0 && instanceOf(this.parent_0, Q$Container);
    if (parentIsContainer) {
      parent_0 = dynamicCast(this.parent_0, Q$Container);
      (!parent_0.getLayout() || !this.getLayout() || !this.getLayout().monitorResize || !this.getLayout().running) && this.layout_1();
    }
     else {
      this.layout_1();
    }
  }
}
;
_.onInsert = function onInsert(item, index){
  (this.autoHeight || this.autoWidth) && !!this.layer && $sync_0(this.layer);
}
;
_.onLayoutExcecuted = function onLayoutExcecuted(layout){
  $onLayoutExcecuted(this);
}
;
_.onRemove = function onRemove(item){
  (this.autoHeight || this.autoWidth) && !!this.layer && $sync_0(this.layer);
}
;
_.remove_4 = function remove_6(item){
  return $remove_3(this, item);
}
;
_.setLayout = function setLayout(layout){
  $setLayout(this, layout);
}
;
_.attachChildren = true;
_.enableLayout = false;
_.items = null;
_.layout_0 = null;
_.layoutExecuted = false;
_.layoutListener = null;
_.layoutNeeded = true;
_.layoutOnAttach = true;
_.layoutOnChange = false;
function $handleEvent_1(this$static, be){
  be.type_0 == ($clinit_Events() , BeforeLayout)?undefined:be.type_0 == AfterLayout && this$static.this$0.onLayoutExcecuted(be.layout);
}

function Container$1_0(this$0){
  this.this$0 = this$0;
}

defineSeed(154, 1, makeCastMap([Q$Listener]), Container$1_0);
_.handleEvent = function handleEvent_2(be){
  $handleEvent_1(this, dynamicCast(be, Q$LayoutEvent));
}
;
_.this$0 = null;
function $afterRender_0(this$static){
  this$static.scrollLeft_0 != -1 && $setHScrollPosition(this$static, this$static.scrollLeft_0);
  this$static.scrollTop_0 != -1 && $setVScrollPosition(this$static, this$static.scrollTop_0);
  this$static.scrollMode != ($clinit_Style$Scroll() , NONE) && $setScrollMode(this$static, this$static.scrollMode);
  $addEventsSunk(this$static.getLayoutTarget(), 16384);
  $afterRender(this$static);
}

function $setHScrollPosition(this$static, position){
  this$static.scrollLeft_0 = position;
  this$static.rendered && $setScrollLeft(this$static.getLayoutTarget(), position);
}

function $setScrollMode(this$static, scroll_0){
  this$static.scrollMode = scroll_0;
  if (this$static.rendered) {
    switch (scroll_0.ordinal) {
      case 0:
      case 3:
      case 4:
        $setStyleAttribute(this$static.getLayoutTarget(), 'overflowX', this$static.scrollMode.value_0.toLowerCase());
        $setStyleAttribute(this$static.getLayoutTarget(), 'overflowY', this$static.scrollMode.value_0.toLowerCase());
        break;
      case 1:
        $setStyleAttribute(this$static.getLayoutTarget(), 'overflowX', this$static.scrollMode.value_0.toLowerCase());
        $setStyleAttribute(this$static.getLayoutTarget(), 'overflowY', 'hidden');
        break;
      case 2:
        $setStyleAttribute(this$static.getLayoutTarget(), 'overflowY', this$static.scrollMode.value_0.toLowerCase());
        $setStyleAttribute(this$static.getLayoutTarget(), 'overflowX', 'hidden');
    }
    (($clinit_GXT() , isIE6) || isIE7) && isStrict && this$static.scrollMode != ($clinit_Style$Scroll() , NONE) && $makePositionable_0(this$static.getLayoutTarget(), false);
  }
}

function $setVScrollPosition(this$static, position){
  this$static.scrollTop_0 = position;
  this$static.rendered && $setScrollTop(this$static.getLayoutTarget(), position);
}

defineSeed(157, 153, makeCastMap([Q$Observable, Q$BoxComponent, Q$Component, Q$Container, Q$ScrollContainer, Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsWidget, Q$UIObject, Q$Widget]));
_.afterRender_0 = function afterRender_1(){
  $afterRender_0(this);
}
;
_.onComponentEvent = function onComponentEvent_0(ce){
  (!ce.event_0?-1:$eventGetTypeInt(ce.event_0.type)) == 16384 && $fireEvent_3(this, ($clinit_Events() , Scroll), new ComponentEvent_0(this));
}
;
_.scrollLeft_0 = -1;
_.scrollTop_0 = -1;
function $add_8(this$static, widget){
  return $insert_1(this$static, widget, this$static.items.size_0);
}

function $insert_1(this$static, widget, index){
  return $insert_0(this$static, instanceOf(widget, Q$Component)?dynamicCast(widget, Q$Component):new WidgetComponent_0(widget), index);
}

function $onComponentEvent(this$static, ce){
  var type;
  (!ce.event_0?-1:$eventGetTypeInt(ce.event_0.type)) == 16384 && $fireEvent_3(this$static, ($clinit_Events() , Scroll), new ComponentEvent_0(this$static));
  type = !ce.event_0?-1:$eventGetTypeInt(ce.event_0.type);
  switch (type) {
    case 2048:
      $onFocus(this$static);
      break;
    case 4096:
      $clinit_GXT();
      focusManagerEnabled && $unframe((!instance && (instance = new FocusFrame_0) , instance));
  }
}

function $onFocus(this$static){
  var c, i;
  $clinit_GXT();
  if (focusManagerEnabled && ($clinit_FocusManager() , !instance_0 && (instance_0 = new FocusManager_0) , true)) {
    if ((!this$static.focusManagerSupport && (this$static.focusManagerSupport = new FocusManagerSupport_0) , this$static.focusManagerSupport).ignore) {
      for (i = 0; i < this$static.items.size_0; ++i) {
        c = i < this$static.items.size_0?dynamicCast($get_6(this$static.items, i), Q$Component):null;
        if (!(!c.focusManagerSupport && (c.focusManagerSupport = new FocusManagerSupport_0) , c.focusManagerSupport).ignore) {
          c.focus_0();
          break;
        }
      }
    }
     else {
      $frame((!instance && (instance = new FocusFrame_0) , instance), this$static);
    }
  }
}

function $onRender(this$static, parent_0, index){
  !this$static.el && $setElement_1(this$static, $doc.createElement('div'), parent_0, index);
  $clinit_GXT();
  if (focusManagerEnabled && !(!this$static.focusManagerSupport && (this$static.focusManagerSupport = new FocusManagerSupport_0) , this$static.focusManagerSupport).ignore) {
    $setTabIndex(this$static.el, 0);
    this$static.el.dom_0.setAttribute('hideFocus', 'true');
    this$static.rendered?this$static.eventsToSink == -1?$sinkEvents_1($getElement(this$static), 6144 | ($getElement(this$static).__eventBits || 0)):(this$static.eventsToSink |= 6144):(this$static.events |= 6144);
  }
}

function LayoutContainer_0(){
  Container_0.call(this);
  this.scrollMode = ($clinit_Style$Scroll() , NONE);
  this.enableLayout = true;
  (!this.focusManagerSupport && (this.focusManagerSupport = new FocusManagerSupport_0) , this.focusManagerSupport).ignore = true;
}

defineSeed(156, 157, makeCastMap([Q$Observable, Q$BoxComponent, Q$Component, Q$Container, Q$LayoutContainer, Q$ScrollContainer, Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsWidget, Q$UIObject, Q$Widget]));
_.getLayout = function getLayout_0(){
  return this.layout_0;
}
;
_.getLayoutTarget = function getLayoutTarget_0(){
  return this.el;
}
;
_.layout_1 = function layout_2(){
  return $layout(this, false);
}
;
_.layout_2 = function layout_3(force){
  return $layout(this, force);
}
;
_.onComponentEvent = function onComponentEvent_1(ce){
  $onComponentEvent(this, ce);
}
;
_.onRender = function onRender_0(parent_0, index){
  $onRender(this, parent_0, index);
}
;
_.setLayout = function setLayout_0(layout){
  $setLayout(this, layout);
}
;
function $afterCollapse(this$static){
  var c, c$iterator, ce;
  $addStyleName_1(this$static, this$static.collapseStyle);
  $removeStyleName_2(this$static, this$static.baseStyle + '-animated');
  this$static.collapsed = true;
  this$static.animating = false;
  for (c$iterator = new AbstractList$IteratorImpl_0(this$static.items); c$iterator.i < c$iterator.this$0_0.size_1();) {
    c = dynamicCast($next_3(c$iterator), Q$Component);
    !c.hidden && c.rendered && c.notifyHide();
  }
  !!this$static.fbar && this$static.fbar.rendered && $notifyHide(this$static.fbar);
  !!this$static.layer && $sync_0(this$static.layer);
  $clinit_GXT();
  if (ariaEnabled) {
    $getElement(this$static).setAttribute('aria-expanded', 'false');
    $setTitle_0(this$static.collapseBtn, 'Expand panel');
  }
  ce = new ComponentEvent_0(this$static);
  $fireEvent_3(this$static, ($clinit_Events() , Collapse), ce);
}

function $afterExpand(this$static){
  var c, c$iterator, ce;
  $removeStyleName_2(this$static, this$static.collapseStyle);
  $removeStyleName_2(this$static, this$static.baseStyle + '-animated');
  this$static.collapsed = false;
  this$static.animating = false;
  for (c$iterator = new AbstractList$IteratorImpl_0(this$static.items); c$iterator.i < c$iterator.this$0_0.size_1();) {
    c = dynamicCast($next_3(c$iterator), Q$Component);
    !c.hidden && c.rendered && c.notifyShow();
  }
  !!this$static.fbar && this$static.fbar.rendered && $notifyShow(this$static.fbar);
  !!this$static.layer && $sync_0(this$static.layer);
  $clinit_GXT();
  if (ariaEnabled) {
    $getElement(this$static).setAttribute('aria-expanded', 'true');
    $setTitle_0(this$static.collapseBtn, 'Collapse panel');
  }
  ce = new ComponentEvent_0(this$static);
  $fireEvent_3(this$static, ($clinit_Events() , Expand), ce);
}

function $collapse(this$static){
  if (this$static.rendered) {
    if (!this$static.collapsed && !this$static.animating && $fireEvent_2(this$static, ($clinit_Events() , BeforeCollapse))) {
      !!this$static.layer && $hideShadow(this$static.layer);
      $onCollapse(this$static);
    }
  }
   else {
    this$static.collapsed = true;
  }
}

function $expand(this$static){
  if (this$static.rendered) {
    if (this$static.collapsed && !this$static.animating && $fireEvent_2(this$static, ($clinit_Events() , BeforeExpand))) {
      !!this$static.layer && $hideShadow(this$static.layer);
      $onExpand(this$static);
    }
  }
   else {
    this$static.collapsed = false;
  }
}

function $getFrameSize_0(this$static){
  var bwrapFrameSize, elFrameSize, ft, h_0, hd, l_0, mc, mcFrameSize, w;
  elFrameSize = $getFrameSize(this$static.el);
  bwrapFrameSize = $getFrameSize(this$static.bwrap);
  mcFrameSize = null;
  if (this$static.frame) {
    mc = $subChild(this$static.bwrap, 3).dom_0;
    mcFrameSize = $getFrameSize(fly_1(mc, 'component'));
  }
  w = elFrameSize.width_0 + bwrapFrameSize.width_0;
  if (this$static.frame) {
    l_0 = $getFirstChildElement(this$static.bwrap.dom_0);
    w += $getFrameWidth(fly_1(l_0, 'component'), 'l') + $getFrameWidth($firstChild(fly_1(l_0, 'component')), 'r');
    w += mcFrameSize.width_0;
  }
  h_0 = elFrameSize.height_0 + bwrapFrameSize.height_0;
  if (this$static.frame) {
    hd = $getFirstChildElement(this$static.el.dom_0);
    ft = this$static.bwrap.dom_0.lastChild;
    h_0 += (fly_1(hd, 'component').dom_0.offsetHeight || 0) + (fly_1(ft, 'component').dom_0.offsetHeight || 0);
    h_0 += mcFrameSize.height_0;
  }
   else {
    !!this$static.head && (h_0 += $getPropertyInt($getElement(this$static.head), 'offsetHeight'));
    !!this$static.foot && (h_0 += this$static.foot.dom_0.offsetHeight || 0);
  }
  h_0 += 0;
  return new Size_0(w, h_0);
}

function $getFrameWidth_0(this$static){
  var l_0, mc, w;
  w = $getFrameWidth(this$static.el, 'lr') + $getFrameWidth(this$static.bwrap, 'lr');
  if (this$static.frame) {
    l_0 = $getFirstChildElement(this$static.bwrap.dom_0);
    w += $getFrameWidth(fly_1(l_0, 'component'), 'l') + $getFrameWidth($firstChild(fly_1(l_0, 'component')), 'r');
    mc = $subChild(this$static.bwrap, 3).dom_0;
    w += $getFrameWidth(fly_1(mc, 'component'), 'lr');
  }
  return w;
}

function $initTools(this$static){
  if (this$static.collapsible && !this$static.hideCollapseTool) {
    this$static.collapseBtn = new ToolButton_0;
    $clinit_GXT();
    ariaEnabled && $setTitle_0(this$static.collapseBtn, 'Collapse panel');
    $addListener_0(this$static.collapseBtn, ($clinit_Events() , Select_0), new ContentPanel$1_0(this$static));
    $addTool(this$static.head, this$static.collapseBtn);
  }
}

function $layoutBars(this$static){
  this$static.footer && !this$static.fbar.layoutExecuted && $layout(this$static.fbar, false);
}

function $onCollapse(this$static){
  if (this$static.animCollapse) {
    this$static.animating = true;
    $addStyleName_1(this$static, this$static.baseStyle + '-animated');
    $slideOut(this$static.bwrap, ($clinit_Style$Direction() , UP), new FxConfig_0(new ContentPanel$2_0(this$static)));
  }
   else {
    this$static.bwrap.setVisible(false);
    $afterCollapse(this$static);
  }
}

function $onExpand(this$static){
  if (this$static.animCollapse) {
    this$static.animating = true;
    $addStyleName_1(this$static, this$static.baseStyle + '-animated');
    $slideIn(this$static.bwrap, ($clinit_Style$Direction() , DOWN), new FxConfig_0(new ContentPanel$3_0(this$static)));
  }
   else {
    this$static.bwrap.setVisible(true);
    $afterExpand(this$static);
  }
}

--></script>
<script><!--
function $onRender_0(this$static, parent_0, pos){
  var anim, bl, bw, clearDiv, div, e, mc, ml, s;
  $onRender(this$static, parent_0, pos);
  this$static.fbar.items.size_0 > 0 && (this$static.footer = true);
  if (this$static.frame) {
    s = substitute(($clinit_Markup() , BBOX), initValues(_3Ljava_lang_Object_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$Object, [this$static.baseStyle]));
    insertHtml('afterBegin', this$static.el.dom_0, s);
    this$static.head.baseStyle = this$static.headerStyle;
    $setTextStyle(this$static.head, this$static.headerTextStyle);
    $initTools(this$static);
    $render(this$static.head, this$static.el.dom_0, -1);
    $appendChild_0($subChild(this$static.el, 3).dom_0, $getElement(this$static.head));
    this$static.bwrap = $appendChild(this$static.el, create("<div role=presentation class='" + this$static.bwrapStyle + "'><\/div>"));
    bw = this$static.bwrap.dom_0;
    ml = $getChild_0(this$static.el.dom_0, 1);
    bl = $getChild_0(this$static.el.dom_0, 2);
    $appendChild_0(bw, ($clinit_PotentialElement() , $resolve(ml)));
    $appendChild_0(bw, $resolve(bl));
    mc = $getSubChild(fly_1(bw, 'component'), 3);
    this$static.body_0 = $appendChild(fly_1(mc, 'component'), create('<div role=presentation class=' + this$static.bodStyle + '><\/div>'));
    e = $firstChild($firstChild($lastChild(fly_1(bw, 'component'))));
    this$static.foot = $appendChild(e, create('<div role=presentation class=' + this$static.footerStyle + '><\/div>'));
  }
   else {
    this$static.head.baseStyle = this$static.headerStyle;
    $setTextStyle(this$static.head, this$static.headerTextStyle);
    $initTools(this$static);
    $render(this$static.head, this$static.el.dom_0, -1);
    this$static.bwrap = $appendChild(this$static.el, create('<div role=presentation class=' + this$static.bwrapStyle + '><\/div>'));
    bw = this$static.bwrap.dom_0;
    this$static.body_0 = $appendChild(fly_1(bw, 'component'), create('<div role=presentation class=' + this$static.bodStyle + '><\/div>'));
    this$static.foot = $appendChild(fly_1(bw, 'component'), create('<div role=presentation class=' + this$static.footerStyle + '><\/div>'));
  }
  if (!this$static.headerVisible) {
    $hide_0(this$static.head);
    $addStyleName(this$static.body_0, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, [this$static.bodStyle + '-noheader']));
  }
  if (this$static.footer && this$static.fbar.items.size_0 > 0) {
    div = $doc.createElement('div');
    $addStyleName(fly_1(div, 'component'), initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['x-panel-btns']));
    $appendChild(this$static.foot, div);
    $render(this$static.fbar, div, -1);
    clearDiv = $doc.createElement('div');
    clearDiv.className = 'x-clear';
    div.appendChild(clearDiv);
  }
   else 
    this$static.footer || $addStyleName($lastChild(this$static.bwrap), initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, [this$static.baseStyle + '-nofooter']));
  this$static.headerVisible && $disableTextSelection_0(this$static.head, true);
  if (this$static.titleCollapse) {
    $setStyleAttribute_1(this$static.head, 'cursor', 'pointer');
    this$static.rendered?this$static.eventsToSink == -1?sinkEvents_1($getElement(this$static), 1 | ($getElement(this$static).__eventBits || 0)):(this$static.eventsToSink |= 1):(this$static.events |= 1);
  }
  this$static.collapsible && ($clinit_GXT() , $clinit_GXT() , ariaEnabled) && ($getElement(this$static).setAttribute('aria-expanded', 'true') , undefined);
  $clinit_GXT();
  if (ariaEnabled) {
    $getElement(this$static).setAttribute('role', 'region');
    !!this$static.head && $setLabelledBy((!this$static.ariaSupport && (this$static.ariaSupport = new AriaSupport_0(this$static)) , this$static.ariaSupport), $getId_0(this$static.head) + '-label');
  }
  this$static.footer && !this$static.fbar.layoutExecuted && $layout(this$static.fbar, false);
  if (this$static.collapsed) {
    anim = this$static.animCollapse;
    this$static.collapsed = false;
    this$static.animCollapse = false;
    $collapse(this$static);
    this$static.animCollapse = anim;
  }
}

function $setExpanded(this$static, expanded){
  expanded?$expand(this$static):$collapse(this$static);
}

defineSeed(155, 156, makeCastMap([Q$Observable, Q$BoxComponent, Q$Component, Q$Container, Q$ContentPanel, Q$LayoutContainer, Q$ScrollContainer, Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsWidget, Q$UIObject, Q$Widget]));
_.createStyles = function createStyles_0(baseStyle){
  this.headerStyle = baseStyle + '-header';
  this.headerTextStyle = baseStyle + '-header-text';
  this.bwrapStyle = baseStyle + '-bwrap';
  this.bodStyle = baseStyle + '-body';
  this.footerStyle = baseStyle + '-footer';
  this.collapseStyle = baseStyle + '-collapsed';
}
;
_.doAttachChildren = function doAttachChildren_2(){
  $doAttachChildren(this);
  $attachChildren(this);
  this.head.rendered && doAttach(this.head);
  this.fbar.rendered && doAttach(this.fbar);
  doAttach(this.topComponent);
  doAttach(this.bottomComponent);
}
;
_.doDetachChildren = function doDetachChildren_2(){
  $doDetachChildren_0(this);
  this.head.rendered && doDetach(this.head);
  doDetach(this.fbar);
  doDetach(this.topComponent);
  doDetach(this.bottomComponent);
}
;
_.getLayoutTarget = function getLayoutTarget_1(){
  return this.body_0;
}
;
_.notifyHide = function notifyHide_1(){
  if (!this.collapsed) {
    $notifyHide(this);
    !!this.fbar && this.fbar.rendered && $notifyHide(this.fbar);
  }
}
;
_.notifyShow = function notifyShow_1(){
  if (!this.collapsed) {
    $notifyShow(this);
    !!this.fbar && this.fbar.rendered && $notifyShow(this.fbar);
  }
}
;
_.onComponentEvent = function onComponentEvent_2(ce){
  $onComponentEvent(this, ce);
  (!ce.event_0?-1:$eventGetTypeInt(ce.event_0.type)) == 1 && this.collapsible && this.titleCollapse && !!this.head && $within(ce, $getElement(this.head)) && $setExpanded(this, this.collapsed);
}
;
_.onDisable = function onDisable_0(){
  $mask_0(this, null, null);
  $addStyleName_1(this, this.disabledStyle);
}
;
_.onEnable = function onEnable_0(){
  this.mask = false;
  this.maskMessage = null;
  this.maskMessageStyleName = null;
  this.rendered && $unmask(this.el);
  $removeStyleName_2(this, this.disabledStyle);
  $clearOpacity(this.el);
}
;
_.onRender = function onRender_1(parent_0, pos){
  $onRender_0(this, parent_0, pos);
}
;
_.onResize = function onResize_1(width, height){
  var adjustBodySize, frameSize;
  this.mask && $mask_0(this, this.maskMessage, this.maskMessageStyleName);
  frameSize = $getFrameSize_0(this);
  adjustBodySize = new Size_0(0, 0);
  if (this.autoWidth) {
    this.body_0.setWidth_0('auto');
  }
   else if (width != -1) {
    width -= frameSize.width_0;
    this.fbar.rendered && $setSize_2(this.fbar, width - $getFrameWidth($getParent(this.fbar.el), 'lr'), -1);
    this.body_0.setWidth(width - adjustBodySize.width_0, true);
  }
  if (this.autoHeight) {
    this.body_0.setHeight_0('auto');
  }
   else if (height != -1) {
    height -= frameSize.height_0;
    this.body_0.setHeight(height - adjustBodySize.height_0, true);
  }
  this.mask && $mask_0(this, this.maskMessage, this.maskMessageStyleName);
}
;
_.remove_4 = function remove_7(item){
  if (item == this.topComponent) {
    return true;
  }
   else if (item == this.bottomComponent) {
    return true;
  }
  return $remove_3(this, item);
}
;
_.animCollapse = true;
_.animating = false;
_.bodStyle = null;
_.body_0 = null;
_.bottomComponent = null;
_.bwrap = null;
_.bwrapStyle = null;
_.collapseBtn = null;
_.collapseStyle = null;
_.collapsed = false;
_.collapsible = false;
_.fbar = null;
_.foot = null;
_.footer = false;
_.footerStyle = null;
_.frame = false;
_.head = null;
_.headerStyle = null;
_.headerTextStyle = null;
_.headerVisible = true;
_.hideCollapseTool = false;
_.titleCollapse = false;
_.topComponent = null;
function $handleEvent_2(this$static, ce){
  !!ce.event_0 && (ce.event_0.cancelBubble = true , undefined);
  !!ce.event_0 && (ce.event_0.preventDefault() , undefined);
  $setExpanded(this$static.this$0, this$static.this$0.collapsed);
}

function ContentPanel$1_0(this$0){
  this.this$0 = this$0;
}

defineSeed(158, 1, makeCastMap([Q$Listener]), ContentPanel$1_0);
_.handleEvent = function handleEvent_3(ce){
  $handleEvent_2(this, dynamicCast(ce, Q$ComponentEvent));
}
;
_.this$0 = null;
function $handleEvent_3(this$static){
  $afterCollapse(this$static.this$0);
}

function ContentPanel$2_0(this$0){
  this.this$0 = this$0;
}

defineSeed(159, 1, makeCastMap([Q$Listener]), ContentPanel$2_0);
_.handleEvent = function handleEvent_4(fe){
  $handleEvent_3(this, dynamicCast(fe, Q$FxEvent));
}
;
_.this$0 = null;
function $handleEvent_4(this$static){
  $afterExpand(this$static.this$0);
}

function ContentPanel$3_0(this$0){
  this.this$0 = this$0;
}

defineSeed(160, 1, makeCastMap([Q$Listener]), ContentPanel$3_0);
_.handleEvent = function handleEvent_5(fe){
  $handleEvent_4(this, dynamicCast(fe, Q$FxEvent));
}
;
_.this$0 = null;
function FocusManagerSupport_0(){
}

defineSeed(161, 50, makeCastMap([Q$Observable]), FocusManagerSupport_0);
_.ignore = false;
_.nextId = null;
_.previousId = null;
function $addTool(this$static, tool){
  $insertTool(this$static, tool, this$static.tools.size_0);
}

function $insertTool(this$static, tool, index){
  $add_16(this$static.tools, index, tool);
  if (this$static.rendered) {
    $setVisible(this$static.widgetPanel, true);
    $insert_1(this$static.widgetPanel, tool, index);
  }
}

function $setIcon(this$static, icon){
  var i, oldIcon;
  if (this$static.rendered) {
    oldIcon = $selectNode(this$static.el, '.x-panel-inline-icon');
    !!oldIcon && oldIcon.remove_0();
    if (icon) {
      i = $createStructure(icon.url, icon.left_0, icon.top_0, icon.width_0, icon.height_0);
      $addStyleName(($clinit_El() , fly_0(i, '_global')), initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['x-panel-inline-icon']));
      $setStyleAttribute(fly_0(i, '_global'), 'cursor', 'default');
      $setStyleAttribute(fly_0(i, '_global'), 'float', 'left');
      $clinit_GXT();
      ariaEnabled && (i.setAttribute('alt', 'Panel Icon') , undefined);
      $insertChild(this$static.el, i, 0);
    }
  }
  this$static.icon = icon;
}

function $setText(this$static, text){
  this$static.text_0 = text;
  this$static.rendered && $update(this$static.textEl, text == null?'&#160;':text);
}

function $setTextStyle(this$static, textStyle){
  this$static.textStyle = textStyle;
  this$static.rendered && $setClassName(this$static.textEl.dom_0, textStyle);
}

function Header_0(){
  Component_0.call(this);
  this.tools = new ArrayList_0;
  (!this.focusManagerSupport && (this.focusManagerSupport = new FocusManagerSupport_0) , this.focusManagerSupport).ignore = true;
}

defineSeed(162, 144, makeCastMap([Q$Observable, Q$Component, Q$Header, Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsWidget, Q$UIObject, Q$Widget]), Header_0);
_.doAttachChildren = function doAttachChildren_3(){
  $doAttachChildren(this);
  doAttach(this.widgetPanel);
}
;
_.doDetachChildren = function doDetachChildren_3(){
  $doDetachChildren(this);
  doDetach(this.widgetPanel);
}
;
_.onRender = function onRender_2(target, index){
  var i;
  $setElement_1(this, $doc.createElement('div'), target, index);
  $setPresentation((!this.ariaSupport && (this.ariaSupport = new AriaSupport_0(this)) , this.ariaSupport));
  $addStyleName_1(this, 'x-small-editor');
  this.widgetPanel = new HorizontalPanel_0;
  this.widgetPanel.parent_0 = this;
  $addStyleName_1(this.widgetPanel, 'x-panel-toolbar');
  this.widgetPanel.layoutOnChange = true;
  $setStyleAttribute_1(this.widgetPanel, 'float', 'right');
  $setPresentation($getAriaSupport(this.widgetPanel));
  if (this.tools.size_0 > 0) {
    for (i = 0; i < this.tools.size_0; ++i) {
      $add_7(this.widgetPanel, dynamicCast($get_6(this.tools, i), Q$Component));
    }
  }
   else {
    $setVisible(this.widgetPanel, false);
  }
  $render(this.widgetPanel, $getElement(this), -1);
  this.widgetPanel.parent_0 = this;
  this.textEl = new El_0($doc.createElement('span'));
  $setId(this.textEl, $getId_0(this) + '-label');
  this.textEl.dom_0.setAttribute('role', 'heading');
  this.textEl.dom_0.setAttribute('aria-level', '1');
  $appendChild_0($getElement(this), this.textEl.dom_0);
  this.textStyle != null && $setTextStyle(this, this.textStyle);
  $setText(this, this.text_0);
  !!this.icon && $setIcon(this, this.icon);
}
;
_.icon = null;
_.text_0 = null;
_.textEl = null;
_.textStyle = null;
_.widgetPanel = null;
function $setHorizontalAlign(this$static, horizontalAlign){
  this$static.horizontalAlign = horizontalAlign;
}

function $setVerticalAlign(this$static, verticalAlign){
  this$static.verticalAlign = verticalAlign;
}

function HorizontalPanel_0(){
  $clinit_Component();
  LayoutContainer_0.call(this);
  this.horizontalAlign = ($clinit_Style$HorizontalAlignment() , LEFT_0);
  this.verticalAlign = ($clinit_Style$VerticalAlignment() , TOP_0);
}

defineSeed(163, 156, makeCastMap([Q$Observable, Q$BoxComponent, Q$Component, Q$Container, Q$HorizontalPanel, Q$LayoutContainer, Q$ScrollContainer, Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsWidget, Q$UIObject, Q$Widget]), HorizontalPanel_0);
_.onRender = function onRender_3(parent_0, pos){
  $onRender(this, parent_0, pos);
  this.rendered?$setStyleAttribute(this.el, 'overflow', 'visible'):(this.styles += 'overflow:visible;');
  this.layout = new TableRowLayout_0;
  $setCellHorizontalAlign(this.layout, this.horizontalAlign);
  $setCellVerticalAlign(this.layout, this.verticalAlign);
  $setCellSpacing(this.layout);
  this.layout.cellPadding_0 = 0;
  $setLayout(this, this.layout);
  $layout(this, false);
}
;
_.layout = null;
function $clinit_Layer(){
  $clinit_Layer = nullMethod;
  $clinit_El();
  shadows = new Stack_0;
  shims = new Stack_0;
}

function $createShadow(this$static){
  var el;
  if ($clinit_GXT() , isIE_0) {
    el = new El_0($doc.createElement('div'));
    el.dom_0.className = 'x-ie-shadow';
    $setStyleAttribute(el, 'filter', 'progid:DXImageTransform.Microsoft.alpha(opacity=50) progid:DXImageTransform.Microsoft.Blur(pixelradius=' + this$static.shadowOffset + ')');
  }
   else {
    el = new El_1(($clinit_Markup() , SHADOW));
  }
  $addStyleName(el, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['x-ignore']));
  el.setVisible(false);
  return el;
}

function $getShadow(this$static){
  var pn;
  pn = $getParent(this$static);
  if (!pn || !this$static.shadowEnabled) {
    $hideShadow(this$static);
    return null;
  }
  if (this$static.shadow) {
    return this$static.shadow;
  }
  this$static.shadow = shadows.arrayList.size_0 > 0?dynamicCast($pop(shadows), Q$El):null;
  !this$static.shadow && (this$static.shadow = $createShadow(this$static));
  $insertBefore_0(pn, this$static.shadow.dom_0, this$static.dom_0);
  this$static.shadow.setZIndex(parseInt_0(dynamicCast($getStyleAttribute_0(this$static, new Arrays$ArrayList_0(initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['zIndex']))).map['zIndex'], Q$String), 0) - 1);
  return this$static.shadow;
}

function $getShim(this$static){
  var pn, el;
  pn = $getParent(this$static);
  if (!pn || !this$static.shimEnabled) {
    $hideShim(this$static);
    return null;
  }
  if (this$static.shim) {
    return this$static.shim;
  }
  this$static.shim = shims.arrayList.size_0 > 0?dynamicCast($pop(shims), Q$El):null;
  !this$static.shim && (this$static.shim = (el = new El_0($doc.createElement('iframe')) , el.dom_0['frameborder'] = 'no' , el.dom_0['frameBorder'] = 'no' , el.dom_0.className = 'ext-shim' , el.dom_0['tabIndex'] = -1 , el.setVisibility(true) , el.setVisible(false) , $addStyleName(el, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['x-ignore'])) , ($clinit_GXT() , isIE_0) && isSecure && (el.dom_0['src'] = SSL_SECURE_URL , undefined) , el.dom_0.setAttribute('role', 'presentation') , el));
  $insertBefore_0(pn, this$static.shim.dom_0, this$static.dom_0);
  this$static.shim.setZIndex(parseInt_0(dynamicCast($getStyleAttribute_0(this$static, new Arrays$ArrayList_0(initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['zIndex']))).map['zIndex'], Q$String), 0) - 2);
  return this$static.shim;
}

function $hideShadow(this$static){
  if (this$static.shadow) {
    this$static.shadow.setVisible(false);
    $removeFromParent(this$static.shadow);
    $add_21(shadows, this$static.shadow);
    this$static.shadow = null;
  }
}

function $hideShim(this$static){
  if (this$static.shim) {
    this$static.shim.setVisible(false);
    $removeFromParent(this$static.shim);
    $add_21(shims, this$static.shim);
    this$static.shim = null;
  }
}

function $hideUnders(this$static){
  $hideShadow(this$static);
  $hideShim(this$static);
}

function $setShadowOffset(this$static){
  this$static.shadowOffset = 4;
  $setShadowPosition(this$static, this$static.shadowPosition);
}

function $setShadowPosition(this$static, shadowPosition){
  var radius;
  this$static.shadowPosition = shadowPosition;
  radius = ~~(this$static.shadowOffset / 2);
  this$static.shadowAdjusts = new Rectangle_0;
  switch (shadowPosition.ordinal) {
    case 2:
      this$static.shadowAdjusts.width_0 = this$static.shadowOffset * 2;
      this$static.shadowAdjusts.x = -this$static.shadowOffset;
      this$static.shadowAdjusts.y = this$static.shadowOffset - 1;
      if ($clinit_GXT() , isIE_0) {
        this$static.shadowAdjusts.x -= this$static.shadowOffset - radius;
        this$static.shadowAdjusts.y -= this$static.shadowOffset + radius;
        this$static.shadowAdjusts.x += 1;
        this$static.shadowAdjusts.width_0 -= (this$static.shadowOffset - radius) * 2;
        this$static.shadowAdjusts.width_0 -= radius + 1;
        this$static.shadowAdjusts.height_0 -= 1;
      }

      break;
    case 1:
      this$static.shadowAdjusts.width_0 = this$static.shadowAdjusts.height_0 = this$static.shadowOffset * 2;
      this$static.shadowAdjusts.x = this$static.shadowAdjusts.y = -this$static.shadowOffset;
      this$static.shadowAdjusts.y += 1;
      this$static.shadowAdjusts.height_0 -= 2;
      if ($clinit_GXT() , isIE_0) {
        this$static.shadowAdjusts.x -= this$static.shadowOffset - radius;
        this$static.shadowAdjusts.y -= this$static.shadowOffset - radius;
        this$static.shadowAdjusts.width_0 -= this$static.shadowOffset + radius;
        this$static.shadowAdjusts.width_0 += 1;
        this$static.shadowAdjusts.height_0 -= this$static.shadowOffset + radius;
        this$static.shadowAdjusts.height_0 += 3;
      }

      break;
    default:this$static.shadowAdjusts.width_0 = 0;
      this$static.shadowAdjusts.x = this$static.shadowAdjusts.y = this$static.shadowOffset;
      this$static.shadowAdjusts.y -= 1;
      if ($clinit_GXT() , isIE_0) {
        this$static.shadowAdjusts.x -= this$static.shadowOffset + radius;
        this$static.shadowAdjusts.y -= this$static.shadowOffset + radius;
        this$static.shadowAdjusts.width_0 -= radius;
        this$static.shadowAdjusts.height_0 -= radius;
        this$static.shadowAdjusts.y += 1;
      }

  }
}

function $sync_0(this$static){
  var a, h_0, height, l_0, sh, sw, t, w, width;
  if ($isVisible(this$static, false) && (this$static.shadowEnabled || this$static.shimEnabled)) {
    w = this$static.dom_0.offsetWidth || 0;
    h_0 = this$static.dom_0.offsetHeight || 0;
    l_0 = parseInt_0(dynamicCast($getStyleAttribute_0(this$static, new Arrays$ArrayList_0(initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['left']))).map['left'], Q$String), 0);
    t = parseInt_0(dynamicCast($getStyleAttribute_0(this$static, new Arrays$ArrayList_0(initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['top']))).map['top'], Q$String), 0);
    if (this$static.shadowEnabled && !!$getParent(this$static)) {
      !this$static.shadow && (this$static.shadow = $getShadow(this$static));
      this$static.shadow.setVisible(true);
      this$static.shadow.setLeft(l_0 + this$static.shadowAdjusts.x);
      this$static.shadow.setTop(t + this$static.shadowAdjusts.y);
      sw = w + this$static.shadowAdjusts.width_0;
      sh = h_0 + this$static.shadowAdjusts.height_0;
      if ((this$static.shadow.dom_0.offsetWidth || 0) != sw || (this$static.shadow.dom_0.offsetHeight || 0) != sh) {
        $setSize_0(this$static.shadow, sw, sh, false);
        if (!($clinit_GXT() , isIE_0)) {
          width = 0 > sw - 12?0:sw - 12;
          ($clinit_El() , fly_1($getChildNodes(this$static.shadow.dom_0.childNodes[0])[1], '_global')).setWidth(width, false);
          fly_1($getChildNodes(this$static.shadow.dom_0.childNodes[1])[1], '_global').setWidth(width, false);
          fly_1($getChildNodes(this$static.shadow.dom_0.childNodes[2])[1], '_global').setWidth(width, false);
          height = 0 > sh - 12?0:sh - 12;
          fly_1(this$static.shadow.dom_0.childNodes[1], '_global').setHeight(height, false);
        }
      }
    }
    if (this$static.shimEnabled) {
      !this$static.shim && (this$static.shim = $getShim(this$static));
      this$static.shim.setVisible(true);
      a = !this$static.shadow?new Rectangle_1(0, 0, 0, 0):this$static.shadowAdjusts;
      if (($clinit_GXT() , isIE_0) && !!this$static.shadow && $isVisible(this$static.shadow, false)) {
        w += this$static.shadowOffset * 2;
        l_0 -= this$static.shadowOffset;
        t -= this$static.shadowOffset;
        h_0 += this$static.shadowOffset * 2;
      }
      try {
        this$static.shim.setLeft(l_0 + a.x);
        this$static.shim.setTop(t + a.y);
        this$static.shim.setWidth(w + a.width_0, false);
        this$static.shim.setHeight(h_0 + a.height_0, false);
      }
       catch ($e0) {
        $e0 = caught_0($e0);
        if (!instanceOf($e0, Q$Exception))
          throw $e0;
      }
    }
  }
  return this$static;
}

function Layer_0(element){
  $clinit_Layer();
  El_0.call(this, element);
  $equals_2('static', dynamicCast($getStyleAttribute_0(this, new Arrays$ArrayList_0(initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['position']))).map['position'], Q$String)) && ($setStyleAttribute_0(computedStyle_0, this.dom_0, 'position', 'relative') , this);
  $setShadowPosition(this, ($clinit_Layer$ShadowPosition() , SIDES));
}

defineSeed(164, 64, makeCastMap([Q$El, Q$Layer]), Layer_0);
_.remove_0 = function remove_8(){
  $removeFromParent(this);
  $hideShadow(this);
  $hideShim(this);
  return this;
}
;
_.setHeight = function setHeight_4(height, adjust){
  $setHeight(this, height, adjust);
  $sync_0(this);
  return this;
}
;
_.setHeight_0 = function setHeight_5(height){
  setStyleAttribute_0(this.dom_0, 'height', addUnits(height, 'px'));
  $sync_0(this);
  return this;
}
;
_.setLeft = function setLeft_0(left){
  this.dom_0.style['left'] = left + ($clinit_Style$Unit() , 'px');
  $sync_0(this);
  return this;
}
;
_.setTop = function setTop_0(top_0){
  this.dom_0.style['top'] = top_0 + ($clinit_Style$Unit() , 'px');
  $sync_0(this);
  return this;
}
;
_.setVisibility = function setVisibility_0(visible){
  $setStyleAttribute_0(($clinit_El() , computedStyle_0), this.dom_0, 'visibility', visible?'visible':'hidden');
  visible?$sync_0(this):($hideShadow(this) , $hideShim(this));
  return this;
}
;
_.setVisible = function setVisible_3(visible){
  $setDisplayed(this, visible);
  visible?$sync_0(this):($hideShadow(this) , $hideShim(this));
  return this;
}
;
_.setWidth = function setWidth_4(width, adjust){
  $setWidth(this, width, adjust);
  $sync_0(this);
  return this;
}
;
_.setWidth_0 = function setWidth_5(width){
  setStyleAttribute_0(this.dom_0, 'width', addUnits(width, 'px'));
  $sync_0(this);
  return this;
}
;
_.setZIndex = function setZIndex_0(zIndex){
  setIntStyleAttribute(this.dom_0, 0 > zIndex?0:zIndex);
  !!this.shadow && this.shadow.setZIndex(zIndex - 1);
  !!this.shim && this.shim.setZIndex(zIndex - 2);
  return this;
}
;
_.shadow = null;
_.shadowAdjusts = null;
_.shadowEnabled = false;
_.shadowOffset = 4;
_.shadowPosition = null;
_.shim = null;
_.shimEnabled = false;
var shadows, shims;
function $clinit_Layer$ShadowPosition(){
  $clinit_Layer$ShadowPosition = nullMethod;
  DROP = new Layer$ShadowPosition_0('DROP', 0);
  FRAME = new Layer$ShadowPosition_0('FRAME', 1);
  SIDES = new Layer$ShadowPosition_0('SIDES', 2);
  $VALUES_6 = initValues(_3Lcom_extjs_gxt_ui_client_widget_Layer$ShadowPosition_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$Layer$ShadowPosition, [DROP, FRAME, SIDES]);
}

function Layer$ShadowPosition_0(enum$name, enum$ordinal){
  Enum_0.call(this, enum$name, enum$ordinal);
}

function values_7(){
  $clinit_Layer$ShadowPosition();
  return $VALUES_6;
}

defineSeed(165, 34, makeCastMap([Q$Layer$ShadowPosition, Q$Serializable, Q$Comparable, Q$Enum]), Layer$ShadowPosition_0);
var $VALUES_6, DROP, FRAME, SIDES;
function $initTarget(this$static){
  if (!this$static.target_0) {
    this$static.target_0 = this$static.container.getLayoutTarget();
    $addStyleName(this$static.target_0, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, [this$static.targetStyleName]));
  }
}

function $isValidParent(elem, parent_0){
  return !!parent_0 && parent_0.contains(elem);
}

function $layout_0(this$static){
  if (!!this$static.container && this$static.container.rendered && !this$static.running) {
    if ($fireEvent(this$static, ($clinit_Events() , BeforeLayout), new LayoutEvent_0(this$static))) {
      this$static.running = true;
      $initTarget(this$static);
      this$static.onLayout(this$static.container, this$static.target_0);
      this$static.running = false;
      $fireEvent(this$static, AfterLayout, new LayoutEvent_0(this$static));
    }
  }
}

function $onAdd(this$static, component){
  component.rendered?undefined:$addListener_0(component, ($clinit_Events() , Render), this$static.componentListener);
  $addListener_0(component, ($clinit_Events() , Show), this$static.componentListener);
  $addListener_0(component, Hide, this$static.componentListener);
}

function $onLayout(this$static, container, target){
  var component, component$iterator;
  $renderAll(this$static, container, target);
  for (component$iterator = new AbstractList$IteratorImpl_0(container.items); component$iterator.i < component$iterator.this$0_0.size_1();) {
    component = dynamicCast($next_3(component$iterator), Q$Component);
    dynamicCast($getData(component, 'layoutData'), Q$LayoutData);
  }
}

function $onRemove(this$static, component){
  this$static.activeItem == component && (this$static.activeItem = null);
  $removeListener_0(component, ($clinit_Events() , Render), this$static.componentListener);
  $removeListener_0(component, Show, this$static.componentListener);
  $removeListener_0(component, Hide, this$static.componentListener);
}

function $renderAll(this$static, container, target){
  var c, count, i;
  count = container.items.size_0;
  for (i = 0; i < count; ++i) {
    c = i < container.items.size_0?dynamicCast($get_6(container.items, i), Q$Component):null;
    (!c.rendered || !this$static.isValidParent(c.el.dom_0, target.dom_0)) && this$static.renderComponent(c, i, target);
  }
}

function $setContainer(this$static, ct){
  var c, c$iterator;
  !this$static.containerListener_0 && (this$static.containerListener_0 = new Layout$2_0(this$static));
  if (this$static.container != ct) {
    if (this$static.container) {
      if (this$static.target_0) {
        $removeStyleName(this$static.target_0, this$static.targetStyleName);
        this$static.target_0 = null;
      }
      $removeListener_0(this$static.container, ($clinit_Events() , Remove), this$static.containerListener_0);
      $removeListener_0(this$static.container, Add, this$static.containerListener_0);
      $removeListener_0(this$static.container, Resize, this$static.containerListener_0);
      !!this$static.resizeTask && $cancel(this$static.resizeTask.timer);
      for (c$iterator = new AbstractList$IteratorImpl_0(this$static.container.items); c$iterator.i < c$iterator.this$0_0.size_1();) {
        c = dynamicCast($next_3(c$iterator), Q$Component);
        $onRemove(this$static, c);
      }
    }
    this$static.container = ct;
    if (ct) {
      $addListener_0(ct, ($clinit_Events() , Remove), this$static.containerListener_0);
      $addListener_0(ct, Add, this$static.containerListener_0);
      !this$static.resizeTask && (this$static.resizeTask = new DelayedTask_0(new Layout$3_0(this$static)));
      $addListener_0(ct, Resize, this$static.containerListener_0);
      for (c$iterator = new AbstractList$IteratorImpl_0(this$static.container.items); c$iterator.i < c$iterator.this$0_0.size_1();) {
        c = dynamicCast($next_3(c$iterator), Q$Component);
        $onAdd(this$static, c);
      }
    }
  }
}

function Layout_0(){
  this.componentListener = new Layout$1_0(this);
}

defineSeed(166, 50, makeCastMap([Q$Observable]));
_.isValidParent = function isValidParent(elem, parent_0){
  return $isValidParent(elem, parent_0);
}
;
_.onComponentHide = function onComponentHide(component){
}
;
_.onComponentShow = function onComponentShow(component){
}
;
_.onLayout = function onLayout(container, target){
  $onLayout(this, container, target);
}
;
_.renderComponent = function renderComponent(component, index, target){
  component.rendered?$insertChild(target, component.el.dom_0, index):$render(component, target.dom_0, index);
  this.renderHidden && component != this.activeItem && component.hide();
}
;
--></script>
<script><!--
_.setContainer = function setContainer(ct){
  $setContainer(this, ct);
}
;
_.activeItem = null;
_.container = null;
_.containerListener_0 = null;
_.monitorResize = false;
_.renderHidden = false;
_.resizeTask = null;
_.running = false;
_.target_0 = null;
_.targetStyleName = null;
function $handleEvent_5(this$static, be){
  var type;
  type = be.type_0;
  type == ($clinit_Events() , Render)?undefined:type == Show?this$static.this$0.onComponentShow(be.component):type == Hide && this$static.this$0.onComponentHide(be.component);
}

function Layout$1_0(this$0){
  this.this$0 = this$0;
}

defineSeed(167, 1, makeCastMap([Q$Listener]), Layout$1_0);
_.handleEvent = function handleEvent_6(be){
  $handleEvent_5(this, dynamicCast(be, Q$ComponentEvent));
}
;
_.this$0 = null;
function $handleEvent_6(this$static, be){
  be.type_0 == ($clinit_Events() , Remove)?$onRemove(this$static.this$0, dynamicCast(be, Q$ContainerEvent).item):be.type_0 == Resize?this$static.this$0.monitorResize && $delay(this$static.this$0.resizeTask, 0):be.type_0 == Add && $onAdd(this$static.this$0, dynamicCast(be, Q$ContainerEvent).item);
}

function Layout$2_0(this$0){
  this.this$0 = this$0;
}

defineSeed(168, 1, makeCastMap([Q$Listener]), Layout$2_0);
_.handleEvent = function handleEvent_7(be){
  $handleEvent_6(this, dynamicCast(be, Q$ComponentEvent));
}
;
_.this$0 = null;
function Layout$3_0(this$0){
  this.this$0 = this$0;
}

defineSeed(169, 1, makeCastMap([Q$Listener]), Layout$3_0);
_.handleEvent = function handleEvent_8(be){
  !!this.this$0.container && $layout_0(this.this$0);
}
;
_.this$0 = null;
function $autoWidth(this$static){
  var adj, w;
  if (this$static.rendered && this$static.autoWidth) {
    $setSize_3(this$static, 'auto', 'undefined');
    if ($clinit_GXT() , isIE_0) {
      if (this$static.textEl) {
        $clip(this$static.textEl);
        $bind_0((!instance_2 && (instance_2 = new TextMetrics_0) , instance_2), new El_0(this$static.textEl.dom_0));
        adj = this$static.iconStyle != null?25:0;
        w = $getWidth_0((!instance_2 && (instance_2 = new TextMetrics_0) , instance_2), this$static.text_0) + adj + 5;
        this$static.textEl.setWidth(w, true);
      }
    }
  }
}

function $setBox(this$static, box){
  this$static.box = box;
  this$static.rendered && (box?$addStyleName_1(this$static, 'x-status-text-panel'):this$static.rendered?$removeStyleName(fly_1($getElement(this$static), 'component'), 'x-status-text-panel'):!!this$static.styleNames && $remove_2(this$static.styleNames, 'x-status-text-panel'));
}

function $setIconStyle(this$static, iconStyle){
  if (this$static.iconStyle != iconStyle) {
    if (this$static.rendered) {
      if (this$static.iconStyle != null) {
        $removeStyleName(this$static.textEl, 'x-status-icon');
        $removeStyleName(this$static.textEl, this$static.iconStyle);
      }
      if (iconStyle != null) {
        $addStyleName(this$static.textEl, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['x-status-icon']));
        $addStyleName(this$static.textEl, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, [iconStyle]));
      }
      $autoWidth(this$static);
    }
    this$static.iconStyle = iconStyle;
  }
}

function $setText_0(this$static, text){
  if (this$static.text_0 != text) {
    this$static.text_0 = text;
    if (this$static.rendered) {
      $update(this$static.textEl, text == null || text.length == 0?'&nbsp;':text);
      $autoWidth(this$static);
    }
  }
}

function Status_0(){
  $clinit_Component();
  BoxComponent_0.call(this);
  this.baseStyle = 'x-status';
}

defineSeed(170, 143, makeCastMap([Q$Observable, Q$BoxComponent, Q$Component, Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsWidget, Q$UIObject, Q$Widget]), Status_0);
_.onRender = function onRender_4(target, index){
  var iconStyle, text;
  $setElement_1(this, $doc.createElement('div'), target, index);
  this.textEl = new El_0($doc.createElement('span'));
  $addStyleName(this.textEl, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['x-status-text']));
  $appendChild_0($getElement(this), this.textEl.dom_0);
  this.disableTextSelection = 1;
  this.attached && $disableTextSelection(this.el, true);
  $setBox(this, this.box);
  text = this.text_0;
  iconStyle = this.iconStyle;
  this.text_0 = null;
  this.iconStyle = null;
  $setText_0(this, text);
  $setIconStyle(this, iconStyle);
}
;
_.box = false;
_.iconStyle = null;
_.text_0 = null;
_.textEl = null;
function $setHorizontalAlign_0(this$static, horizontalAlign){
  this$static.horizontalAlign = horizontalAlign;
}

function $setVerticalAlign_0(this$static, verticalAlign){
  this$static.verticalAlign = verticalAlign;
}

function VerticalPanel_0(){
  $clinit_Component();
  LayoutContainer_0.call(this);
  this.horizontalAlign = ($clinit_Style$HorizontalAlignment() , LEFT_0);
  this.verticalAlign = ($clinit_Style$VerticalAlignment() , TOP_0);
}

defineSeed(171, 156, makeCastMap([Q$Observable, Q$BoxComponent, Q$Component, Q$Container, Q$LayoutContainer, Q$ScrollContainer, Q$VerticalPanel, Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsWidget, Q$UIObject, Q$Widget]), VerticalPanel_0);
_.onRender = function onRender_5(parent_0, pos){
  $onRender(this, parent_0, pos);
  this.rendered?$setStyleAttribute(this.el, 'overflow', 'visible'):(this.styles += 'overflow:visible;');
  this.layout = new TableLayout_0;
  $setCellHorizontalAlign(this.layout, this.horizontalAlign);
  $setCellVerticalAlign(this.layout, this.verticalAlign);
  $setCellSpacing(this.layout);
  this.layout.cellPadding_0 = 0;
  $setLayout(this, this.layout);
  $layout(this, false);
}
;
_.layout = null;
function $isAttached(this$static){
  if (this$static.widget) {
    return this$static.widget.isAttached();
  }
  return false;
}

function WidgetComponent_0(widget){
  BoxComponent_0.call(this);
  removeFromParent_1(widget);
  this.widget = widget;
  widget.parent_0 = this;
}

defineSeed(172, 143, makeCastMap([Q$Observable, Q$BoxComponent, Q$Component, Q$WidgetComponent, Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsWidget, Q$UIObject, Q$Widget]), WidgetComponent_0);
_.getElement = function getElement_1(){
  return this.widget.getElement();
}
;
_.isAttached = function isAttached_0(){
  return $isAttached(this);
}
;
_.onAttach = function onAttach_2(){
  doAttach(this.widget);
  this.widget.getElement().__listener = this;
  $onLoad(this);
}
;
_.onBrowserEvent = function onBrowserEvent_2(event_0){
  $onBrowserEvent_0(this, event_0);
  this.widget.onBrowserEvent(event_0);
}
;
_.onDetach = function onDetach_1(){
  try {
    this.hidden || !!this.layer && $hideUnders(this.layer);
  }
   finally {
    doDetach(this.widget);
  }
  $onDetachHelper(this);
}
;
_.onDisable = function onDisable_1(){
  $addStyleName_1(this, this.disabledStyle);
  this.widget.getElement()['disabled'] = true;
}
;
_.onEnable = function onEnable_1(){
  $removeStyleName_2(this, this.disabledStyle);
  $clearOpacity(this.el);
  this.widget.getElement()['disabled'] = false;
}
;
_.onRender = function onRender_6(target, index){
  $setElement_1(this, this.widget.getElement(), target, index);
}
;
_.widget = null;
function WindowManager_0(){
  new Stack_0;
  this.windows = new ArrayList_0;
}

defineSeed(173, 50, makeCastMap([Q$Observable]), WindowManager_0);
_.windows = null;
var instance_4 = null;
function $alignIcon(this$static, icon){
  var align, offset;
  if (icon) {
    align = null;
    this$static.iconAlign == ($clinit_Style$IconAlign() , BOTTOM)?(align = 'b-b'):this$static.iconAlign == TOP?(align = 't-t'):this$static.iconAlign == LEFT_1?(align = 'l-l'):this$static.iconAlign == RIGHT_1 && (align = 'r-r');
    offset = null;
    if (($clinit_GXT() , isIE8) && isStrict && (this$static.iconAlign == LEFT_1 || this$static.iconAlign == RIGHT_1) && (this$static.scale == ($clinit_Style$ButtonScale() , LARGE) || this$static.scale == MEDIUM)) {
      this$static.scale == ($clinit_Style$ButtonScale() , LARGE)?(offset = initValues(_3I_classLit, makeCastMap([Q$Serializable]), -1, [0, -8])):this$static.scale == MEDIUM && (offset = initValues(_3I_classLit, makeCastMap([Q$Serializable]), -1, [0, -4]));
      icon.style['left'] = '';
      icon.style['top'] = '';
    }
    $alignTo(($clinit_El() , fly_1(icon, '_global')), this$static.buttonEl.dom_0, align, offset);
  }
}

function $autoWidth_0(this$static){
  var adj, w;
  if (this$static.rendered && this$static.width_0 == null && !!this$static.buttonEl) {
    if (isEmptyString(this$static.text_0)) {
      this$static.buttonEl.dom_0.style['width'] = '';
      w = $getStyleSize(this$static.buttonEl, false).width_0;
    }
     else {
      $bind_0((!instance_2 && (instance_2 = new TextMetrics_0) , instance_2), this$static.buttonEl);
      w = $getWidth_0((!instance_2 && (instance_2 = new TextMetrics_0) , instance_2), this$static.text_0);
      w += $getFrameWidth(this$static.buttonEl, 'lr');
      (($clinit_GXT() , isGecko) || isWebKit) && (w += 6);
    }
    adj = 0;
    $clinit_GXT();
    ariaEnabled && (adj += 10);
    w += adj;
    w < this$static.minWidth - 6?this$static.buttonEl.setWidth(this$static.minWidth - 6, true):this$static.buttonEl.setWidth(w, true);
  }
}

function $onClick(this$static, ce){
  var be;
  !!ce.event_0 && (ce.event_0.preventDefault() , undefined);
  $focus(this$static);
  !!this$static.toolTip && $hide_2(this$static.toolTip);
  if (!this$static.disabled) {
    be = new ButtonEvent_0(this$static);
    if (!$fireEvent_3(this$static, ($clinit_Events() , BeforeSelect), be)) {
      return;
    }
    !!this$static.menu && !this$static.menu.showing && !!this$static.menu && ($clinit_GXT() , ariaEnabled?addCommand(new Button$3_0(this$static)):$show_1(this$static.menu, $getElement(this$static), 'tl-bl?', initValues(_3I_classLit, makeCastMap([Q$Serializable]), -1, [0, 0])));
    $fireEvent_3(this$static, Select_0, be);
  }
}

function $onFocus_0(this$static){
  if (!this$static.disabled) {
    $addStyleName_1(this$static, this$static.baseStyle + '-focus');
    $clinit_GXT();
    focusManagerEnabled && !isIE_0 && $frame((!instance && (instance = new FocusFrame_0) , instance), this$static);
  }
}

function $onMenuHide(this$static){
  var be;
  $removeStyleName_2(this$static, this$static.baseStyle + '-menu-active');
  be = new ButtonEvent_0(this$static);
  $fireEvent_3(this$static, ($clinit_Events() , MenuHide), be);
  $focus(this$static);
}

function $onMenuShow(this$static){
  var be;
  $addStyleName_1(this$static, this$static.baseStyle + '-menu-active');
  be = new ButtonEvent_0(this$static);
  $fireEvent_3(this$static, ($clinit_Events() , MenuShow), be);
  $clinit_GXT();
  focusManagerEnabled && this$static.menu.items.size_0 > 0 && $setActiveItem(this$static.menu, $getItem(this$static.menu, 0), false);
}

function $onMouseOut(this$static){
  $removeStyleName_2(this$static, this$static.baseStyle + '-click');
  $removeStyleName_2(this$static, this$static.baseStyle + '-over');
}

function $setIcon_0(this$static, icon){
  var e, oldIcon;
  if (this$static.rendered) {
    oldIcon = $selectNode(this$static.buttonEl, '.' + this$static.baseStyle + '-image');
    if (oldIcon) {
      oldIcon.remove_0();
      $removeStyleName_0(this$static.el, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, [this$static.baseStyle + '-text-icon', this$static.baseStyle + '-icon', this$static.baseStyle + '-noicon']));
    }
    $addStyleName(this$static.el, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, [icon?isEmptyString(this$static.text_0)?' ' + this$static.baseStyle + '-icon':' ' + this$static.baseStyle + '-text-icon':' ' + this$static.baseStyle + '-noicon']));
    e = null;
    if (icon) {
      e = $createStructure(icon.url, icon.left_0, icon.top_0, icon.width_0, icon.height_0);
      e.setAttribute('role', 'presentation');
      $addStyleName(fly_1(e, 'component'), initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, [this$static.baseStyle + '-image']));
      $insertFirst(this$static.buttonEl, e);
      $makePositionable_0(($clinit_El() , fly_1(e, '_global')), true);
    }
    $autoWidth_0(this$static);
    $alignIcon(this$static, e);
  }
  this$static.icon = icon;
}

function $setMenu(this$static, menu){
  !this$static.menuListener && (this$static.menuListener = new Button$2_0(this$static));
  if (this$static.menu) {
    $setData(this$static.menu, 'parent', null);
    $removeListener_0(this$static.menu, ($clinit_Events() , Hide), this$static.menuListener);
    $removeListener_0(this$static.menu, Show, this$static.menuListener);
  }
  this$static.menu = menu;
  if (this$static.menu) {
    $setData(this$static.menu, 'parent', this$static);
    $addListener_0(this$static.menu, ($clinit_Events() , Hide), this$static.menuListener);
    $addListener_0(this$static.menu, Show, this$static.menuListener);
    $setLabelledBy($getAriaSupport(this$static.menu), $getId_0(this$static));
    $setAttribute($getElement(this$static), 'aria-owns', $getId_0(menu));
  }
}

function $setMinWidth(this$static, minWidth){
  this$static.minWidth = minWidth;
}

function $setTabIndex_0(this$static, index){
  this$static.tabIndex_0 = index;
  this$static.rendered && !!this$static.buttonEl && (this$static.buttonEl.dom_0['tabIndex'] = index , undefined);
}

function Button_0(){
  $clinit_Component();
  BoxComponent_0.call(this);
  this.scale = ($clinit_Style$ButtonScale() , SMALL);
  this.iconAlign = ($clinit_Style$IconAlign() , LEFT_1);
  this.baseStyle = 'x-btn';
  this.preview = new Button$1_0(this);
  this.disableTextSelection = 1;
  this.attached && $disableTextSelection(this.el, true);
}

defineSeed(174, 143, makeCastMap([Q$Observable, Q$BoxComponent, Q$Component, Q$Button, Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsWidget, Q$UIObject, Q$Widget]), Button_0);
_.afterRender_0 = function afterRender_2(){
  $afterRender(this);
  $setTabIndex_0(this, this.tabIndex_0);
  $setIcon_0(this, this.icon);
}
;
_.createComponentEvent = function createComponentEvent_1(event_0){
  return new ButtonEvent_0(this);
}
;
_.getFocusEl = function getFocusEl_0(){
  return this.buttonEl;
}
;
_.notifyShow = function notifyShow_2(){
  var e;
  if (this.icon) {
    e = $selectNode(this.buttonEl, '.' + this.baseStyle + '-image');
    !!e && $alignIcon(this, e.dom_0);
  }
}
;
_.onComponentEvent = function onComponentEvent_3(ce){
  var be;
  be = dynamicCast(ce, Q$ButtonEvent);
  switch (!ce.event_0?-1:$eventGetTypeInt(ce.event_0.type)) {
    case 16:
      $addStyleName_1(this, this.baseStyle + '-over');
      $add(this.preview);
      break;
    case 32:
      $removeStyleName_2(this, this.baseStyle + '-click');
      $removeStyleName_2(this, this.baseStyle + '-over');
      break;
    case 4:
      $addStyleName_1(this, this.baseStyle + '-click');
      break;
    case 8:
      $removeStyleName_2(this, this.baseStyle + '-click');
      break;
    case 1:
      $onClick(this, ce);
      break;
    case 2048:
      $onFocus_0(this);
      break;
    case 4096:
      $removeStyleName_2(this, this.baseStyle + '-focus');
      $clinit_GXT();
      focusManagerEnabled && $unframe((!instance && (instance = new FocusFrame_0) , instance));
      break;
    case 512:
      (be.event_0.keyCode || 0) == 40 && !!this.menu && !this.menu.showing && !!this.menu && ($clinit_GXT() , ariaEnabled?addCommand(new Button$3_0(this)):$show_1(this.menu, $getElement(this), 'tl-bl?', initValues(_3I_classLit, makeCastMap([Q$Serializable]), -1, [0, 0])));
  }
}
;
_.onDetach = function onDetach_2(){
  $onDetach(this);
  $onDetachHelper(this);
  $remove(this.preview);
  $removeStyleName_2(this, this.baseStyle + '-click');
  $removeStyleName_2(this, this.baseStyle + '-over');
  $removeStyleName_2(this, this.baseStyle + '-menu-active');
  $removeStyleName_2(this, this.baseStyle + '-focus');
}
;
_.onDisable = function onDisable_2(){
  (!($clinit_GXT() , isIE6) || true) && $addStyleName_1(this, this.disabledStyle);
  $removeStyleName_2(this, this.baseStyle + '-over');
  $removeStyleName_2(this, this.baseStyle + '-focus');
  this.el.dom_0['disabled'] = true;
  this.buttonEl.dom_0.setAttribute('aria-disabled', 'true');
}
;
_.onEnable = function onEnable_2(){
  $removeStyleName_2(this, this.disabledStyle);
  $clearOpacity(this.el);
  this.el.dom_0['disabled'] = false;
  this.buttonEl.dom_0.setAttribute('aria-disabled', 'false');
}
;
_.onRender = function onRender_7(target, index){
  var sb;
  if (!this.template) {
    if (!buttonTemplate) {
      sb = new StringBuffer_0;
      sb.impl.string += '<table cellspacing="0" role="presentation"><tbody class="{2}" >';
      sb.impl.string += '<tr><td class="{4}-tl"><i>&#160;<\/i><\/td><td class="{4}-tc"><\/td><td class="{4}-tr"><i>&#160;<\/i><\/td><\/tr>';
      sb.impl.string += '<tr><td class="{4}-ml"><i>&#160;<\/i><\/td><td class="{4}-mc"><em class="{3}" unselectable="on"><button class="{4}-text" type="{1}" style=\'position: static\'>{0}<\/button><\/em><\/td><td class="{4}-mr"><i>&#160;<\/i><\/td><\/tr>';
      sb.impl.string += '<tr><td class="{4}-bl"><i>&#160;<\/i><\/td><td class="{4}-bc"><\/td><td class="{4}-br"><i>&#160;<\/i><\/td><\/tr>';
      sb.impl.string += '<\/tbody><\/table>';
      buttonTemplate = new Template_0(sb.impl.string);
    }
    this.template = buttonTemplate;
  }
  $setElement_1(this, create($applyTemplate(this.template, new Params_2(initValues(_3Ljava_lang_Object_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$Object, ['&nbsp;', 'button', this.baseStyle + '-' + this.scale.name_0.toLowerCase() + ' ' + this.baseStyle + '-icon-' + this.scale.name_0.toLowerCase() + '-' + this.iconAlign.name_0.toLowerCase(), this.menu?this.baseStyle + '-arrow':'', this.baseStyle])))), target, index);
  this.buttonEl = $selectNode(this.el, 'button');
  $makePositionable(this.buttonEl);
  !!this.buttonEl && $addEventsSunk(this.buttonEl, 6144);
  $add_0(this.preview.ignoreList, $getElement(this));
  $setTabIndex(this.buttonEl, 0);
  $clinit_GXT();
  if (ariaEnabled) {
    this.buttonEl.dom_0.setAttribute('role', 'button');
    if (this.menu) {
      this.buttonEl.dom_0.setAttribute('aria-haspopup', 'true');
      $addStyleName_1(this, this.baseStyle + '-menu');
    }
  }
  this.rendered?this.eventsToSink == -1?sinkEvents_1($getElement(this), 7165 | ($getElement(this).__eventBits || 0)):(this.eventsToSink |= 7165):(this.events |= 7165);
}
;
_.onResize = function onResize_2(width, height){
  var adj;
  this.mask && $mask_0(this, this.maskMessage, this.maskMessageStyleName);
  adj = 0;
  $clinit_GXT();
  ariaEnabled && (adj += 10);
  $setSize_0(this.buttonEl, adj + width - 6, height - 6, true);
}
;
_.setAriaState = function setAriaState_0(stateName, stateValue){
  $setAttribute(this.buttonEl.dom_0, stateName, stateValue);
}
;
_.setTabIndex = function setTabIndex_0(index){
  $setTabIndex_0(this, index);
}
;
_.buttonEl = null;
_.icon = null;
_.menu = null;
_.menuListener = null;
_.minWidth = -1;
_.preview = null;
_.tabIndex_0 = 0;
_.template = null;
_.text_0 = null;
var buttonTemplate = null;
function Button$1_0(this$0){
  this.this$0 = this$0;
  BaseEventPreview_0.call(this);
}

defineSeed(175, 53, makeCastMap([Q$Observable, Q$EventHandler, Q$Event$NativePreviewHandler]), Button$1_0);
_.onAutoHide = function onAutoHide_0(ce){
  $onMouseOut(this.this$0);
  return true;
}
;
_.this$0 = null;
function $handleEvent_7(this$static, be){
  ($clinit_Events() , Show) == be.type_0?$onMenuShow(this$static.this$0):Hide == be.type_0 && $onMenuHide(this$static.this$0);
}

function Button$2_0(this$0){
  this.this$0 = this$0;
}

defineSeed(176, 1, makeCastMap([Q$Listener]), Button$2_0);
_.handleEvent = function handleEvent_9(be){
  $handleEvent_7(this, dynamicCast(be, Q$MenuEvent));
}
;
_.this$0 = null;
function Button$3_0(this$0){
  this.this$0 = this$0;
}

defineSeed(177, 1, makeCastMap([Q$Command]), Button$3_0);
_.execute = function execute_5(){
  $show_1(this.this$0.menu, $getElement(this.this$0), 'tl-bl?', initValues(_3I_classLit, makeCastMap([Q$Serializable]), -1, [0, 0]));
}
;
_.this$0 = null;
function $insert_2(this$static, item, index){
  var result;
  result = $insert_0(this$static, item, index);
  instanceOf(item, Q$Button) && dynamicCast(item, Q$Button).minWidth == -1 && $setMinWidth(dynamicCast(item, Q$Button), this$static.minButtonWidth);
  return result;
}

function $onFocus_1(this$static, ce){
  var c, i;
  $clinit_GXT();
  if (focusManagerEnabled && ($clinit_FocusManager() , !instance_0 && (instance_0 = new FocusManager_0) , false)) {
    $frame((!instance && (instance = new FocusFrame_0) , instance), this$static);
    return;
  }
  $unframe((!instance && (instance = new FocusFrame_0) , instance));
  !!ce.event_0 && (ce.event_0.cancelBubble = true , undefined);
  !!ce.event_0 && (ce.event_0.preventDefault() , undefined);
  for (i = 0; i < this$static.items.size_0; ++i) {
    c = i < this$static.items.size_0?dynamicCast($get_6(this$static.items, i), Q$Component):null;
    if (!c.disabled && !(!c.focusManagerSupport && (c.focusManagerSupport = new FocusManagerSupport_0) , c.focusManagerSupport).ignore) {
      c.focus_0();
      break;
    }
  }
}

function $setAlignment(this$static, alignment){
  this$static.alignment = alignment;
}

function $setMinButtonWidth(this$static){
  var c, c$iterator;
  this$static.minButtonWidth = 75;
  for (c$iterator = new AbstractList$IteratorImpl_0(this$static.items); c$iterator.i < c$iterator.this$0_0.size_1();) {
    c = dynamicCast($next_3(c$iterator), Q$Component);
    instanceOf(c, Q$Button) && dynamicCast(c, Q$Button).minWidth == -1 && (dynamicCast(c, Q$Button).minWidth = 75 , undefined);
  }
}

defineSeed(179, 153, makeCastMap([Q$Observable, Q$BoxComponent, Q$Component, Q$Container, Q$ToolBar, Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsWidget, Q$UIObject, Q$Widget]));
_.createComponentEvent = function createComponentEvent_2(event_0){
  return new ToolBarEvent_0(this);
}
;
_.createContainerEvent = function createContainerEvent_0(item){
  return new ToolBarEvent_1(this, item);
}
;
_.getLayout = function getLayout_1(){
  return dynamicCast(this.layout_0, Q$ToolBarLayout);
}
;
_.insert = function insert_0(item, index){
  return $insert_2(this, item, index);
}
;
_.layout_1 = function layout_4(){
  return $layout(this, false);
}
;
_.onComponentEvent = function onComponentEvent_4(ce){
  (!ce.event_0?-1:$eventGetTypeInt(ce.event_0.type)) == 2048 && $onFocus_1(this, ce);
}
;
_.onRender = function onRender_8(target, index){
  var state;
  $setElement_1(this, $doc.createElement('div'), target, index);
  $addStyleName_1(this, 'x-small-editor');
  if (this.alignment == ($clinit_Style$HorizontalAlignment() , CENTER)) {
    $addStyleName_1(this, 'x-panel-btns-center');
  }
   else if (this.alignment == RIGHT_0) {
    if (this.items.size_0 == 0 || this.items.size_0 > 0 && !instanceOf(0 < this.items.size_0?dynamicCast($get_6(this.items, 0), Q$Component):null, Q$FillToolItem)) {
      state = this.layoutOnChange;
      this.layoutOnChange = false;
      $insert_2(this, new FillToolItem_0, 0);
      this.layoutOnChange = state;
    }
  }
  $clinit_GXT();
  if (focusManagerEnabled) {
    $setTabIndex(this.el, 0);
    this.el.dom_0.setAttribute('hideFocus', 'true');
  }
  if (focusManagerEnabled) {
    $getElement(this).setAttribute('role', 'toolbar');
    $equals_2($getTitle(this), '') || $setAttribute($getElement(this), 'aria-label', $getTitle(this));
  }
  this.rendered?this.eventsToSink == -1?sinkEvents_1($getElement(this), 6144 | ($getElement(this).__eventBits || 0)):(this.eventsToSink |= 6144):(this.events |= 6144);
}
;
_.remove_4 = function remove_9(item){
  return $remove_3(this, item);
}
;
_.minButtonWidth = -1;
function ButtonBar_0(){
  Container_0.call(this);
  this.alignment = ($clinit_Style$HorizontalAlignment() , LEFT_0);
  this.layoutOnChange = true;
  this.enableLayout = true;
  this.baseStyle = 'x-toolbar';
  $setLayout(this, new ToolBarLayout_0);
  dynamicCast(this.layout_0, Q$ToolBarLayout).spacing = 5;
  this.baseStyle = 'x-panel-fbar';
}

defineSeed(178, 179, makeCastMap([Q$Observable, Q$BoxComponent, Q$Component, Q$Container, Q$ToolBar, Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsWidget, Q$UIObject, Q$Widget]), ButtonBar_0);
function $onClick_0(this$static, ce){
  !!ce.event_0 && (ce.event_0.cancelBubble = true , undefined);
  $removeStyleName_2(this$static, this$static.style_0 + '-over');
  $fireEvent_3(this$static, ($clinit_Events() , Select_0), ce);
}

function $onRender_1(this$static, target, index){
  $setElement_1(this$static, $doc.createElement('div'), target, index);
  $addStyleName_1(this$static, 'x-icon-btn');
  $addStyleName_1(this$static, 'x-nodrag');
  $addStyleName_1(this$static, this$static.style_0);
  this$static.rendered?this$static.eventsToSink == -1?sinkEvents_1($getElement(this$static), 6781 | ($getElement(this$static).__eventBits || 0)):(this$static.eventsToSink |= 6781):(this$static.events |= 6781);
  ($clinit_GXT() , isHighContrastMode) && ($getElement(this$static).innerHTML = '<i>&nbsp;<\/i>' , undefined);
  if (focusManagerEnabled) {
    $setTabIndex(this$static.el, 0);
    $getElement(this$static).setAttribute('role', 'button');
  }
}

function IconButton_0(style){
  BoxComponent_0.call(this);
  this.style_0 = style;
}

defineSeed(180, 143, makeCastMap([Q$Observable, Q$BoxComponent, Q$Component, Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsWidget, Q$UIObject, Q$Widget]));
_.createComponentEvent = function createComponentEvent_3(event_0){
  return new IconButtonEvent_0(this, event_0);
}
;
_.onComponentEvent = function onComponentEvent_5(ce){
  var code;
  switch (!ce.event_0?-1:$eventGetTypeInt(ce.event_0.type)) {
    case 16:
      $addStyleName_1(this, this.style_0 + '-over');
      break;
    case 32:
      $removeStyleName_2(this, this.style_0 + '-over');
      break;
    case 1:
      $onClick_0(this, ce);
      break;
    case 2048:
      $clinit_GXT();
      focusManagerEnabled && !isIE_0 && $frame((!instance && (instance = new FocusFrame_0) , instance), this);
      break;
    case 4096:
      $clinit_GXT();
      focusManagerEnabled && $unframe((!instance && (instance = new FocusFrame_0) , instance));
      break;
    case 512:
      code = !ce.event_0?-1:ce.event_0.keyCode || 0;
      (code == 13 || code == 32) && $onClick_0(this, ce);
  }
}
;
_.onDisable = function onDisable_3(){
  $addStyleName_1(this, this.style_0 + '-disabled');
}
;
_.onEnable = function onEnable_3(){
  $removeStyleName_2(this, this.style_0 + '-disabled');
}
;
_.onRender = function onRender_9(target, index){
  $onRender_1(this, target, index);
}
;
_.style_0 = null;
function ToolButton_0(){
  IconButton_0.call(this, 'x-tool-toggle');
}

function ToolButton_1(listener){
  IconButton_0.call(this, 'x-tool-close');
  $addListener_0(this, ($clinit_Events() , Select_0), listener);
}

defineSeed(181, 180, makeCastMap([Q$Observable, Q$BoxComponent, Q$Component, Q$ToolButton, Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsWidget, Q$UIObject, Q$Widget]), ToolButton_0, ToolButton_1);
_.onRender = function onRender_10(parent_0, pos){
  $onRender_1(this, parent_0, pos);
  this.rendered?$removeStyleName(fly_1($getElement(this), 'component'), 'x-icon-btn'):!!this.styleNames && $remove_2(this.styleNames, 'x-icon-btn');
  $addStyleName_1(this, 'x-tool');
  $addStyleName_1(this, 'x-nodrag');
}
;
function $addInputStyleName(this$static, style){
  var inputEl;
  if (this$static.rendered) {
    inputEl = this$static.getInputEl();
    !!inputEl && $addStyleName(inputEl, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, [style]));
  }
   else {
    this$static.inputStyle = this$static.inputStyle == null?style:this$static.inputStyle + ' ' + style;
  }
}

function $clearInvalid(this$static){
  if (!this$static.rendered) {
    return;
  }
  $removeStyleName(this$static.getInputEl(), 'x-form-invalid');
  if (!!this$static.errorIcon && $isAttached(this$static.errorIcon)) {
    doDetach(this$static.errorIcon);
    $setVisible(this$static.errorIcon, false);
    this$static.setAriaState('aria-describedby', '');
  }
  $clinit_GXT();
  ariaEnabled && $setState((!this$static.ariaSupport && (this$static.ariaSupport = new AriaSupport_0(this$static)) , this$static.ariaSupport), 'aria-invalid', 'false');
  $fireEvent_3(this$static, ($clinit_Events() , Valid), new FieldEvent_0(this$static));
}

function $findLabelElement(this$static){
  var elem;
  if (this$static.rendered) {
    elem = $findParent(this$static.el, '.x-form-item', 5);
    if (elem) {
      return $firstChild(elem);
    }
  }
  return null;
}

function $fireChangeEvent(this$static, oldValue, value){
  var e;
  if (!(maskUndefined(oldValue) === maskUndefined(value) || oldValue != null && equals__devirtual$(oldValue, value))) {
    e = new FieldEvent_0(this$static);
    $fireEvent_3(this$static, ($clinit_Events() , Change), e);
  }
}

function $getRawValue(this$static){
  var v;
  v = this$static.rendered?$getPropertyString(this$static.getInputEl().dom_0, 'value'):'';
  if (v == null || $equals_2(v, this$static.emptyText)) {
    return '';
  }
  return v;
}

function $getValue(this$static){
  var v;
  if (!this$static.rendered) {
    return this$static.value_0;
  }
  v = $getRawValue(this$static);
  if (v == null || $equals_2(v, '')) {
    return null;
  }
  try {
    return v;
  }
   catch ($e0) {
    $e0 = caught_0($e0);
    if (instanceOf($e0, Q$Exception)) {
      return null;
    }
     else 
      throw $e0;
  }
}

--></script>
<script><!--
function $markInvalid(this$static, msg){
  var fe, p;
  msg = htmlEncode(msg == null?dynamicCast(this$static.messages, Q$TextField$TextFieldMessages).invalidText:msg);
  this$static.activeErrorMessage = msg;
  if (!this$static.rendered || this$static.preventMark) {
    return;
  }
  $addStyleName(this$static.input?this$static.input:this$static.el, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['x-form-invalid']));
  if (!this$static.errorIcon) {
    this$static.errorIcon = new WidgetComponent_0($createImage((!this$static.images && (this$static.images = new Field$FieldImages_0) , this$static.images).invalid));
    p = $getParent(this$static.el).dom_0;
    $render(this$static.errorIcon, p, -1);
    $setHideMode(this$static.errorIcon, ($clinit_Style$HideMode() , VISIBILITY));
    $hide_0(this$static.errorIcon);
    $setStyleAttribute_1(this$static.errorIcon, 'display', 'block');
    $makePositionable_0(this$static.errorIcon.el, true);
    $setRole($getAriaSupport(this$static.errorIcon), 'alert');
    $clinit_GXT();
    if (ariaEnabled) {
      $setAriaState(this$static, 'aria-describedby', $getId_0(this$static.errorIcon));
      $setTitle_0(this$static.errorIcon, this$static.activeErrorMessage);
    }
  }
   else if (!$isConnected(this$static.errorIcon.el)) {
    p = $getParent(this$static.el).dom_0;
    $appendChild_0(p, this$static.errorIcon.widget.getElement());
  }
  $isAttached(this$static.errorIcon) || doAttach(this$static.errorIcon);
  addCommand(new Field$4_0(this$static));
  (($clinit_GXT() , isIE_0) || isOpera) && addCommand(new Field$4_0(this$static));
  addCommand(new Field$1_0(this$static));
  $setToolTip_0(this$static.errorIcon, msg);
  $addStyleName_1($getToolTip(this$static.errorIcon), 'x-form-invalid-tip');
  $repaint(this$static.el);
  ariaEnabled && (this$static.input.dom_0.setAttribute('aria-invalid', 'true') , undefined);
  fe = new FieldEvent_0(this$static);
  $fireEvent_3(this$static, ($clinit_Events() , Invalid), fe);
}

function $onBlur(this$static){
  var v;
  if (this$static.hasFocus) {
    !!this$static.getInputEl() && $removeStyleName(this$static.getInputEl(), 'x-form-focus');
    this$static.hasFocus = false;
    $validate(this$static, false);
    v = $getValue(this$static);
    this$static.value_0 = v;
    $fireChangeEvent(this$static, this$static.focusValue, v);
    $fireEvent_3(this$static, ($clinit_Events() , Blur), new FieldEvent_0(this$static));
  }
}

function $onComponentEvent_0(this$static, ce){
  var fe;
  fe = new FieldEvent_0(this$static);
  $setEvent(fe, ce.event_0);
  switch (!ce.event_0?-1:$eventGetTypeInt(ce.event_0.type)) {
    case 2048:
      this$static.onFocus(ce);
      break;
    case 4096:
      this$static.inEditor && ($clinit_GXT() , isWindows) && ($clinit_GXT() , isGecko)?addCommand(new Field$2_0(this$static, ce)):this$static.onBlur(ce);
      break;
    case 1:
      this$static.hasFocus || ($focus(this$static) , this$static.rendered && this$static.onFocus(new FieldEvent_0(this$static)));
      break;
    case 512:
      $fireEvent_3(this$static, ($clinit_Events() , KeyUp), new FieldEvent_1(this$static, fe.event_0));
      break;
    case 128:
      $fireEvent_3(this$static, ($clinit_Events() , KeyDown), new FieldEvent_1(this$static, fe.event_0));
      ($clinit_KeyNav() , $clinit_KeyNav() , keyEvent).eventCode == 128 && $isSpecialKey(!fe.event_0?-1:fe.event_0.keyCode || 0) && $fireEvent_3(this$static, SpecialKey, fe);
      break;
    case 256:
      $fireEvent_3(this$static, ($clinit_Events() , KeyPress), new FieldEvent_1(this$static, fe.event_0));
      ($clinit_KeyNav() , $clinit_KeyNav() , keyEvent).eventCode == 256 && $isSpecialKey(!fe.event_0?-1:fe.event_0.keyCode || 0) && $fireEvent_3(this$static, SpecialKey, fe);
  }
}

function $onFocus_2(this$static){
  if (!this$static.hasFocus) {
    !!this$static.getInputEl() && $addStyleName(this$static.getInputEl(), initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['x-form-focus']));
    this$static.hasFocus = true;
    this$static.focusValue = $getValue(this$static);
    $fireEvent_3(this$static, ($clinit_Events() , Focus), new FieldEvent_0(this$static));
  }
}

function $onRender_2(this$static){
  var type;
  $addStyleName_1(this$static, 'x-form-field');
  type = this$static.getInputEl().dom_0.getAttribute('type') || '';
  $equals_2(type, 'password') && (type = 'text');
  $equals_2(type, '') || $addStyleName(this$static.getInputEl(), initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['x-form-' + type]));
  $setName(this$static, this$static.name_0);
  this$static.readOnly && $setReadOnly(this$static);
  $setTabIndex_1(this$static, this$static.tabIndex_0);
  if (this$static.inputStyle != null) {
    $addInputStyleName(this$static, this$static.inputStyle);
    this$static.inputStyle = null;
  }
  if (this$static.inputStyles != null && !$equals_2(this$static.inputStyles, '')) {
    $applyStyles(this$static.getInputEl(), this$static.inputStyles);
    this$static.inputStyles = null;
  }
  $addEventsSunk(this$static.getInputEl(), 6144);
  this$static.rendered?this$static.eventsToSink == -1?sinkEvents_1($getElement(this$static), 7165 | ($getElement(this$static).__eventBits || 0)):(this$static.eventsToSink |= 7165):(this$static.events |= 7165);
}

function $setFieldLabel(this$static){
  var elem;
  if (this$static.rendered) {
    elem = $findLabelElement(this$static);
    !!elem && $setInnerHtml(elem, 'New TextArea' + this$static.labelSeparator);
  }
}

function $setName(this$static, name_0){
  this$static.name_0 = name_0;
  if (this$static.rendered) {
    this$static.getInputEl().dom_0.removeAttribute('name');
    name_0 != null && $setName_0(this$static.getInputEl().dom_0, name_0);
  }
}

function $setReadOnly(this$static){
  this$static.readOnly = true;
  if (this$static.rendered) {
    $setStyleName(this$static.el, 'x-form-readonly', true);
    this$static.getInputEl().dom_0['readOnly'] = true;
  }
}

function $setTabIndex_1(this$static, index){
  this$static.tabIndex_0 = index;
  this$static.rendered && (this$static.getInputEl().dom_0['tabIndex'] = index , undefined);
}

function $setValue_1(this$static, value){
  var oldValue, v;
  oldValue = this$static.value_0;
  this$static.value_0 = value;
  if (this$static.rendered) {
    v = value == null?'':toString__devirtual$(value);
    this$static.rendered && $setValue(this$static.getInputEl(), v == null?'':v);
    $validate(this$static, this$static.preventMark);
  }
  this$static.fireChangeEventOnSetValue && $fireChangeEvent(this$static, oldValue, value);
}

function $validate(this$static, preventMark){
  var restore_0, result;
  if (this$static.disabled) {
    $clearInvalid(this$static);
    return true;
  }
  restore_0 = this$static.preventMark;
  this$static.preventMark = preventMark;
  result = this$static.validateValue($getRawValue(this$static));
  this$static.preventMark = restore_0;
  if (result) {
    $clearInvalid(this$static);
    this$static.activeErrorMessage = null;
  }
  return result;
}

defineSeed(182, 143, makeCastMap([Q$Observable, Q$BoxComponent, Q$Component, Q$Field, Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsWidget, Q$UIObject, Q$Widget]));
_.afterRender_0 = function afterRender_3(){
  $afterRender(this);
  this.value_0 != null && this.setValue_0(this.value_0);
}
;
_.createComponentEvent = function createComponentEvent_4(event_0){
  return new FieldEvent_0(this);
}
;
_.doDetachChildren = function doDetachChildren_4(){
  $doDetachChildren(this);
  if (!!this.errorIcon && $isAttached(this.errorIcon)) {
    $setVisible(this.errorIcon, false);
    doDetach(this.errorIcon);
  }
}
;
_.focus_0 = function focus_2(){
  $focus(this);
  this.rendered && this.onFocus(new FieldEvent_0(this));
}
;
_.getInputEl = function getInputEl(){
  return this.el;
}
;
_.onBlur = function onBlur(be){
  $onBlur(this);
}
;
_.onComponentEvent = function onComponentEvent_6(ce){
  $onComponentEvent_0(this, ce);
}
;
_.onDetach = function onDetach_3(){
  $onDetach(this);
  $onDetachHelper(this);
}
;
_.onDisable = function onDisable_4(){
  $addStyleName_1(this, this.disabledStyle);
  this.getInputEl().dom_0['disabled'] = true;
}
;
_.onEnable = function onEnable_4(){
  $removeStyleName_2(this, this.disabledStyle);
  $clearOpacity(this.el);
  this.getInputEl().dom_0['disabled'] = false;
}
;
_.onFocus = function onFocus(ce){
  $onFocus_2(this);
}
;
_.onHide = function onHide_1(){
  $onHide(this);
  !!this.layer && $hideUnders(this.layer);
  !!this.errorIcon && $isAttached(this.errorIcon) && $hide_0(this.errorIcon);
}
;
_.onRender = function onRender_11(parent_0, index){
  $onRender_2(this);
}
;
_.onResize = function onResize_3(width, height){
  this.mask && $mask_0(this, this.maskMessage, this.maskMessageStyleName);
  !!this.errorIcon && $isAttached(this.errorIcon) && addCommand(new Field$4_0(this));
}
;
_.onShow = function onShow_1(){
  $removeStyleName_2(this, this.hideMode.value_0);
  $clinit_GXT();
  focusManagerEnabled && $show((!instance && (instance = new FocusFrame_0) , instance), this);
  !!this.layer && $sync_0(this.layer);
  !!this.errorIcon && $isAttached(this.errorIcon) && $show_0(this.errorIcon);
}
;
_.setTabIndex = function setTabIndex_1(index){
  $setTabIndex_1(this, index);
}
;
_.setValue_0 = function setValue_0(value){
  $setValue_1(this, value);
}
;
_.validateValue = function validateValue(value){
  return true;
}
;
_.activeErrorMessage = null;
_.emptyText = null;
_.errorIcon = null;
_.fireChangeEventOnSetValue = false;
_.focusValue = null;
_.hasFocus = false;
_.images = null;
_.inEditor = false;
_.inputStyle = null;
_.inputStyles = '';
_.labelSeparator = null;
_.messages = null;
_.name_0 = null;
_.preventMark = false;
_.readOnly = false;
_.tabIndex_0 = 0;
_.value_0 = null;
function Field$1_0(this$0){
  this.this$0 = this$0;
}

defineSeed(183, 1, makeCastMap([Q$Command]), Field$1_0);
_.execute = function execute_6(){
  $isAttached(this.this$0.errorIcon) && $show_0(this.this$0.errorIcon);
}
;
_.this$0 = null;
function Field$2_0(this$0, val$e){
  this.this$0 = this$0;
  this.val$e = val$e;
}

defineSeed(184, 1, makeCastMap([Q$Command]), Field$2_0);
_.execute = function execute_7(){
  this.this$0.onBlur(this.val$e);
}
;
_.this$0 = null;
_.val$e = null;
function Field$4_0(this$0){
  this.this$0 = this$0;
}

defineSeed(185, 1, makeCastMap([Q$Command]), Field$4_0);
_.execute = function execute_8(){
  $alignTo(this.this$0.errorIcon.el, $getElement(this.this$0), 'tl-tr', initValues(_3I_classLit, makeCastMap([Q$Serializable]), -1, [2, 3]));
}
;
_.this$0 = null;
function Field$FieldImages_0(){
  this.invalid = ($clinit_GXT() , IMAGES).field_invalid();
}

defineSeed(186, 1, {}, Field$FieldImages_0);
function Field$FieldMessages_0(){
  this.invalidText = ($clinit_GXT() , 'The value in this field is invalid');
}

defineSeed(187, 1, {}, Field$FieldMessages_0);
function $onRender_3(this$static, target, index){
  if (!this$static.el) {
    $setElement_1(this$static, $doc.createElement('div'), target, index);
    $getElement(this$static).setAttribute('role', 'presentation');
    $appendChild_0($getElement(this$static), this$static.password?$createInputElement($doc, 'password'):$createInputElement($doc, 'text'));
    this$static.input = $firstChild(this$static.el);
  }
  $addStyleName_1(this$static, 'x-form-field-wrap');
  $addStyleName(this$static.input?this$static.input:this$static.el, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['x-form-field']));
  $setId(this$static.input?this$static.input:this$static.el, $getId_0(this$static) + '-input');
  $onRender_2(this$static);
  this$static.rendered?$removeStyleName(fly_1($getElement(this$static), 'component'), 'x-form-field'):!!this$static.styleNames && $remove_2(this$static.styleNames, 'x-form-field');
  $clinit_GXT();
}

function $removeEmptyText(this$static){
  if (this$static.rendered) {
    $removeStyleName(this$static.input?this$static.input:this$static.el, 'x-form-empty-field');
    $equals_2('', $getRawValue(this$static)) && this$static.rendered && $setValue(this$static.input?this$static.input:this$static.el, '');
  }
}

function $setAriaState(this$static, stateName, stateValue){
  $setAttribute(this$static.input.dom_0, stateName, stateValue);
}

defineSeed(189, 182, makeCastMap([Q$Observable, Q$BoxComponent, Q$Component, Q$Field, Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsWidget, Q$UIObject, Q$Widget]));
_.getFocusEl = function getFocusEl_1(){
  return this.input?this.input:this.el;
}
;
_.getInputEl = function getInputEl_0(){
  return this.input?this.input:this.el;
}
;
_.onBlur = function onBlur_0(be){
  $onBlur(this);
}
;
_.onComponentEvent = function onComponentEvent_7(ce){
  $onComponentEvent_0(this, ce);
  switch (!ce.event_0?-1:$eventGetTypeInt(ce.event_0.type)) {
    case 4:
      this.hasFocus || (this.needsPreventDefaultMouseUp = true);
      break;
    case 8:
      if (this.needsPreventDefaultMouseUp) {
        this.needsPreventDefaultMouseUp = false;
        !!ce.event_0 && (ce.event_0.preventDefault() , undefined);
      }

  }
}
;
_.onFocus = function onFocus_0(be){
  var length_0;
  $onFocus_2(this);
  this.selectOnFocus && (length_0 = $getRawValue(this).length , length_0 > 0 && $setSelectionRange((this.input?this.input:this.el).dom_0, 0, length_0) , undefined);
}
;
_.onRender = function onRender_12(target, index){
  $onRender_3(this, target, index);
}
;
_.onResize = function onResize_4(width, height){
  var asize;
  this.mask && $mask_0(this, this.maskMessage, this.maskMessageStyleName);
  !!this.errorIcon && $isAttached(this.errorIcon) && addCommand(new Field$4_0(this));
  asize = new Size_0(0, 0);
  $setSize_0(this.input?this.input:this.el, width - asize.width_0, height - asize.height_0, true);
}
;
_.setAriaState = function setAriaState_1(stateName, stateValue){
  $setAriaState(this, stateName, stateValue);
}
;
_.setValue_0 = function setValue_1(value){
  $setValue_1(this, value);
  $removeEmptyText(this);
}
;
_.validateValue = function validateValue_0(value){
  var error, length_0;
  length_0 = value.length;
  if (value.length < 1 || $equals_2(value, '')) {
    $clearInvalid(this);
    return true;
  }
  if (length_0 < 0) {
    dynamicCast(this.messages, Q$TextField$TextFieldMessages).minLengthText == null?(error = 'The minimum length for this field is ' + ($clinit_GXT() , 0)):(error = substitute(dynamicCast(this.messages, Q$TextField$TextFieldMessages).minLengthText, initValues(_3Ljava_lang_Object_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$Object, [safeRegexReplacement('0')])));
    $markInvalid(this, error);
    return false;
  }
  if (length_0 > 2147483647) {
    dynamicCast(this.messages, Q$TextField$TextFieldMessages).maxLengthText == null?(error = 'The maximum length for this field is ' + ($clinit_GXT() , 2147483647)):(error = substitute(dynamicCast(this.messages, Q$TextField$TextFieldMessages).maxLengthText, initValues(_3Ljava_lang_Object_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$Object, [safeRegexReplacement('2147483647')])));
    $markInvalid(this, error);
    return false;
  }
  return true;
}
;
_.input = null;
_.needsPreventDefaultMouseUp = false;
_.password = false;
_.selectOnFocus = false;
function TextArea_1(){
  $clinit_Component();
  BoxComponent_0.call(this);
  this.messages = new Field$FieldMessages_0;
  this.messages = new TextField$TextFieldMessages_0;
  $setSize_2(this, 150, -1);
  $setSize_2(this, 100, 60);
}

defineSeed(188, 189, makeCastMap([Q$Observable, Q$BoxComponent, Q$Component, Q$Field, Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsWidget, Q$UIObject, Q$Widget]), TextArea_1);
_.onRender = function onRender_13(target, index){
  if (!this.el) {
    $setElement_1(this, $doc.createElement('div'), target, index);
    $appendChild_0($getElement(this), $doc.createElement('textarea'));
    this.input = $firstChild(this.el);
  }
  (this.input?this.input:this.el).dom_0['autocomplete'] = 'off';
  this.preventScrollbars && $setStyleAttribute(this.input?this.input:this.el, 'overflow', 'hidden');
  $onRender_3(this, target, index);
  $addInputStyleName(this, 'x-form-textarea');
}
;
_.preventScrollbars = false;
function TextField$TextFieldMessages_0(){
  Field$FieldMessages_0.call(this);
  $clinit_GXT();
}

defineSeed(190, 187, makeCastMap([Q$TextField$TextFieldMessages]), TextField$TextFieldMessages_0);
_.maxLengthText = null;
_.minLengthText = null;
function FlowLayout_0(){
  Layout_0.call(this);
}

defineSeed(191, 166, makeCastMap([Q$Observable]), FlowLayout_0);
_.onLayout = function onLayout_0(container, target){
  $onLayout(this, container, target);
}
;
_.renderComponent = function renderComponent_0(c, index, target){
  c.rendered?$insertChild(target, c.el.dom_0, index):$render(c, target.dom_0, index);
  this.renderHidden && c != this.activeItem && c.hide();
  if (!!dynamicCast($getData(c, 'layoutData'), Q$LayoutData) && false) {
    throwClassCastExceptionUnlessNull(dynamicCast($getData(c, 'layoutData'), Q$LayoutData));
    null.nullMethod();
  }
}
;
defineSeed(192, 1, makeCastMap([Q$LayoutData]));
function $cleanup(target){
  var cn, i;
  cn = target.dom_0.childNodes;
  for (i = cn.length - 1; i >= 0; --i) {
    cn[i].hasChildNodes() || $removeChild(target.dom_0, cn[i]);
  }
}

function MenuLayout_0(){
  Layout_0.call(this);
}

defineSeed(193, 166, makeCastMap([Q$Observable]), MenuLayout_0);
_.onComponentHide = function onComponentHide_0(component){
  component.rendered && $addStyleName($getParent(component.el), initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, [component.hideMode.value_0]));
}
;
_.onComponentShow = function onComponentShow_0(component){
  component.rendered && $removeStyleName($getParent(component.el), component.hideMode.value_0);
}
;
_.onLayout = function onLayout_1(container, target){
  $onLayout(this, container, target);
  $cleanup(target);
}
;
_.renderComponent = function renderComponent_1(c, index, target){
  var div, needsIndent;
  if (!!c && (!c.rendered || !$isValidParent(c.getElement(), target.dom_0))) {
    div = $doc.createElement('div');
    $setId_1(div, 'x-menu-el-' + $getId_0(c));
    div.className = 'x-menu-list-item';
    $clinit_GXT();
    ariaEnabled && (div.setAttribute('role', 'presentation') , undefined);
    insertChild(target.dom_0, div, index);
    needsIndent = instanceOf(c, Q$Field) || instanceOf(c, Q$ContentPanel);
    if (c.rendered) {
      $insertInto(c.el, div);
      !c.disabled || c.disable();
    }
     else {
      $render(c, div, -1);
    }
    $setStyleName(($clinit_El() , fly_1(div, '_global')), 'x-menu-list-item-indent', needsIndent);
  }
}
;
function $setWidth_1(this$static, width){
  this$static.width_0 = width;
}

function TableData_0(){
}

defineSeed(194, 192, makeCastMap([Q$LayoutData]), TableData_0);
_.height_0 = null;
_.padding = 0;
_.style_0 = null;
_.styleName = null;
_.width_0 = null;
function $getNextNonSpan(this$static, colIndex, rowIndex){
  $setupList(this$static, rowIndex);
  while (colIndex >= this$static.columns || $get_6(this$static.cells_0, rowIndex) != null && dynamicCast(dynamicCast($get_6(this$static.cells_0, rowIndex), Q$List).get_2(colIndex), Q$Boolean).value_0) {
    if (colIndex >= this$static.columns) {
      ++rowIndex;
      $setupList(this$static, rowIndex);
      colIndex = 0;
    }
     else {
      ++colIndex;
    }
  }
  return initValues(_3I_classLit, makeCastMap([Q$Serializable]), -1, [colIndex, rowIndex]);
}

function $getRow(this$static, index){
  var row;
  row = $getChild_0(this$static.tbody, index);
  if (!row) {
    row = $doc.createElement('tr');
    row.setAttribute('role', 'presentation');
    appendChild(this$static.tbody, row);
  }
  return new El_0(row);
}

function $setCellHorizontalAlign(this$static, cellHorizontalAlign){
  this$static.cellHorizontalAlign = cellHorizontalAlign;
}

function $setCellSpacing(this$static){
  this$static.cellSpacing_0 = 0;
  !!this$static.table && (this$static.table.cellSpacing = 0 , undefined);
}

function $setCellVerticalAlign(this$static, cellVerticalAlign){
  this$static.cellVerticalAlign = cellVerticalAlign;
}

function $setupList(this$static, rowIndex){
  var i, j, l_0;
  for (i = this$static.cells_0.size_0; i <= rowIndex; ++i) {
    l_0 = new ArrayList_0;
    for (j = 0; j < this$static.columns; ++j) {
      $add_17(l_0, ($clinit_Boolean() , $clinit_Boolean() , FALSE_0));
    }
    $add_17(this$static.cells_0, l_0);
  }
}

function TableLayout_0(){
  Layout_0.call(this);
  this.columns = 1;
}

defineSeed(195, 166, makeCastMap([Q$Observable]), TableLayout_0);
_.getNextCell = function getNextCell(widget){
  var cell, colIndex, curCol, curRow, data, rowIndex, td;
  !this.cells_0 && (this.cells_0 = new ArrayList_0);
  data = dynamicCast($getData(widget, 'layoutData'), Q$LayoutData);
  if (!data) {
    data = new TableData_0;
    setLayoutData(widget, data);
  }
  td = $doc.createElement('td');
  td.className = 'x-table-layout-cell';
  td.setAttribute('role', 'presentation');
  cell = $getNextNonSpan(this, this.currentColumn, this.currentRow);
  curCol = this.currentColumn = cell[0];
  curRow = this.currentRow = cell[1];
  for (rowIndex = curRow; rowIndex < curRow + 1; ++rowIndex) {
    $setupList(this, rowIndex);
    for (colIndex = curCol; colIndex < curCol + 1; ++colIndex) {
      dynamicCast($get_6(this.cells_0, rowIndex), Q$List).set_0(colIndex, ($clinit_Boolean() , $clinit_Boolean() , TRUE_0));
    }
  }
  data.padding > 0?(td.style['padding'] = data.padding + ($clinit_Style$Unit() , 'px') , undefined):this.cellPadding_0 > 0 && (td.style['padding'] = this.cellPadding_0 + ($clinit_Style$Unit() , 'px') , undefined);
  data.styleName != null && $addStyleName(($clinit_El() , fly_0(td, '_global')), initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, [data.styleName]));
  !!this.cellHorizontalAlign && $setAlign(td, this.cellHorizontalAlign.name_0);
  !!this.cellVerticalAlign && $setVAlign(td, this.cellVerticalAlign.name_0);
  data.height_0 != null && $setAttribute(td, 'height', data.height_0);
  data.width_0 != null && $setAttribute(td, 'width', data.width_0);
  data.style_0 != null && $applyStyles(($clinit_El() , fly_0(td, '_global')), data.style_0);
  $appendChild_0($getRow(this, curRow).dom_0, td);
  return td;
}
;
_.isValidParent = function isValidParent_0(elem, parent_0){
  return false;
}
;
_.onLayout = function onLayout_2(container, target){
  this.currentColumn = 0;
  this.currentRow = 0;
  this.cells_0 = null;
  $removeChildren(target);
  this.table = $doc.createElement('table');
  (!container.focusManagerSupport && (container.focusManagerSupport = new FocusManagerSupport_0) , container.focusManagerSupport).ignore && (this.table.setAttribute('role', 'presentation') , undefined);
  this.cellSpacing_0 != -1 && $setCellSpacing_0(this.table, this.cellSpacing_0);
  this.tbody = $doc.createElement('tbody');
  $appendChild_0(this.table, this.tbody);
  $appendChild_0(target.dom_0, this.table);
  $renderAll(this, container, target);
}
;
_.renderComponent = function renderComponent_2(component, index, target){
  var td;
  td = this.getNextCell(component);
  component.rendered?$appendChild_0(td, component.getElement()):$render(component, td, -1);
  this.renderHidden && component != this.activeItem && component.hide();
  dynamicCast($getData(component, 'layoutData'), Q$LayoutData);
}
;
_.cellHorizontalAlign = null;
_.cellPadding_0 = 0;
_.cellSpacing_0 = 0;
_.cellVerticalAlign = null;
_.cells_0 = null;
_.columns = 1;
_.currentColumn = 0;
_.currentRow = 0;
_.insertSpacer = false;
_.table = null;
_.tbody = null;
function $getNextCell(this$static, component){
  var data, td;
  data = dynamicCast($getData(component, 'layoutData'), Q$LayoutData);
  if (!data) {
    data = new TableData_0;
    setLayoutData(component, data);
  }
  $getData(component, 'width') != null && $setWidth_1(data, dynamicCast($getData(component, 'width'), Q$String));
  td = new El_0($doc.createElement('td'));
  td.dom_0.setAttribute('role', 'presentation');
  !!this$static.cellHorizontalAlign && (td.dom_0['align'] = this$static.cellHorizontalAlign.name_0 , undefined);
  !!this$static.cellVerticalAlign && (td.dom_0['vAlign'] = this$static.cellVerticalAlign.name_0 , undefined);
  data.padding > 0?(td.dom_0.style['padding'] = data.padding + ($clinit_Style$Unit() , 'px') , undefined):this$static.cellPadding_0 > 0 && (td.dom_0.style['padding'] = this$static.cellPadding_0 + ($clinit_Style$Unit() , 'px') , undefined);
  data.styleName != null && $setClassName(td.dom_0, data.styleName);
  data.height_0 != null && (td.dom_0['height'] = data.height_0 , undefined);
  data.width_0 != null && (td.dom_0['width'] = data.width_0 , undefined);
  data.style_0 != null && $applyStyles(td, data.style_0);
  appendChild(this$static.row, td.dom_0);
  return td.dom_0;
}

function TableRowLayout_0(){
  Layout_0.call(this);
}

defineSeed(196, 195, makeCastMap([Q$Observable]), TableRowLayout_0);
_.getNextCell = function getNextCell_0(component){
  return $getNextCell(this, component);
}
;
_.onLayout = function onLayout_3(container, target){
  var td;
  this.currentColumn = 0;
  this.currentRow = 0;
  $removeChildren(target);
  this.table = $doc.createElement('table');
  this.table.setAttribute('role', 'presentation');
  this.cellPadding_0 != -1 && $setCellPadding(this.table, this.cellPadding_0);
  this.cellSpacing_0 != -1 && $setCellSpacing_0(this.table, this.cellSpacing_0);
  this.tbody = $doc.createElement('tbody');
  $appendChild_0(this.table, this.tbody);
  this.row = $doc.createElement('tr');
  this.row.setAttribute('role', 'presentation');
  appendChild(this.tbody, this.row);
  if (this.insertSpacer) {
    td = $doc.createElement('td');
    td.setAttribute('role', 'presentation');
    ($clinit_El() , fly_1(td, '_global')).setWidth_0('100%');
    appendChild(this.row, td);
  }
  $appendChild_0(target.dom_0, this.table);
  $renderAll(this, container, target);
  $getFirstChildElement(this.table).setAttribute('role', 'presentation');
}
;
_.renderComponent = function renderComponent_3(c, index, target){
  c.rendered?appendChild($getNextCell(this, c), c.getElement()):$render(c, $getNextCell(this, c), -1);
}
;
_.row = null;
function $addComponentToMenu(menu, c){
  var b, item;
  if (instanceOf(c, Q$Button)) {
    b = dynamicCast(c, Q$Button);
    item = new MenuItem_1(b.text_0, b.icon);
    $setItemId(item, c.itemId != null?c.itemId:$getId_0(c));
    $getData(b, 'gxt-menutext') != null && $setText_3(item, toString__devirtual$($getData(b, 'gxt-menutext')));
    if (b.menu) {
      item.hideOnClick = false;
      $setSubMenu(item, b.menu);
    }
    $setEnabled(item, !c.disabled);
    $addSelectionListener(item, new ToolBarLayout$3_0(b));
    $insert_3(menu, item, menu.items.size_0);
  }
  menu.items.size_0 > 0 && menu.items.size_0 > 0 && false;
}

function $cleanup_0(row){
  var cn, i, td;
  cn = row.dom_0.childNodes;
  for (i = cn.length - 1; i >= 0; --i) {
    td = cn[i];
    td.hasChildNodes() || $removeChild(row.dom_0, td);
  }
}

function $fitToSize(this$static, t){
  var c, c$iterator, clipWidth, iw, loopWidth, lw, w;
  dynamicCast(this$static.container, Q$ToolBar);
  if ((this$static.target_0.dom_0.offsetWidth || 0) < 1) {
    return;
  }
  w = $getWidth(t, true);
  lw = this$static.lastWidth;
  this$static.lastWidth = w;
  iw = $getWidth($firstChild(t), true);
  clipWidth = w - 18;
  if (iw > w || !!this$static.hiddens && this$static.hiddens.size_0 > 0 && w >= lw) {
    loopWidth = 0;
    for (c$iterator = new AbstractList$IteratorImpl_0(this$static.container.items); c$iterator.i < c$iterator.this$0_0.size_1();) {
      c = dynamicCast($next_3(c$iterator), Q$Component);
      if (!instanceOf(c, Q$FillToolItem)) {
        loopWidth += dynamicCast($getData(c, 'xtbWidth') != null?$getData(c, 'xtbWidth'):valueOf($getParent(c.el).dom_0.offsetWidth || 0), Q$Integer).value_0;
        if (loopWidth >= clipWidth) {
          if (!(!!this$static.hiddens && $indexOf_1(this$static.hiddens, c, 0) != -1)) {
            !c.dataMap && (c.dataMap = new FastMap_0);
            $put(c.dataMap, 'gxt-overflow', 'true');
            $setData(c, 'xtbWidth', valueOf($getParent(c.el).dom_0.offsetWidth || 0));
            $setData(c, 'xtbIsVisible', ($clinit_Boolean() , c.rendered && !$isStyleAttribute(c.el, 'display', 'none')?TRUE_0:FALSE_0));
            $add_17(this$static.hiddens, c);
            c.hide();
          }
        }
         else {
          if (!!this$static.hiddens && $indexOf_1(this$static.hiddens, c, 0) != -1) {
            !c.dataMap && (c.dataMap = new FastMap_0);
            $put(c.dataMap, 'gxt-overflow', null);
            $unhideComponent(this$static, c);
          }
        }
      }
    }
  }
  if (!!this$static.hiddens && this$static.hiddens.size_0 > 0) {
    $initMore(this$static);
    this$static.lastOverflow || (this$static.lastOverflow = true);
  }
   else if (this$static.more) {
    doDetach(this$static.more);
    $removeFromParent(this$static.more.el);
    this$static.lastOverflow && (this$static.lastOverflow = false);
  }
}

--></script>
<script><!--
function $initMore(this$static){
  var td;
  if (!this$static.more) {
    this$static.moreMenu = new Menu_0;
    $addListener_0(this$static.moreMenu, ($clinit_Events() , BeforeShow), new ToolBarLayout$4_0(this$static));
    this$static.more = new Button_0;
    $addStyleName_1(this$static.more, 'x-toolbar-more');
    $setIcon_0(this$static.more, ($clinit_GXT() , IMAGES).toolbar_more());
    $setMenu(this$static.more, this$static.moreMenu);
    setParent(this$static.container, this$static.more);
    ariaEnabled && $setTitle_0(this$static.more, 'More items...');
  }
  td = $insertCell(this$static.extrasTr, 100);
  this$static.more.rendered?$appendChild_0(td, this$static.more.el.dom_0):$render(this$static.more, td, -1);
  this$static.container.attached && doAttach(this$static.more);
}

function $insertCell(side, pos){
  var point, td;
  td = $doc.createElement('td');
  td.className = 'x-toolbar-cell';
  td.setAttribute('role', 'presentation');
  pos >= side.dom_0.childNodes.length?(point = null):(point = $getChild(side, pos)?$getChild(side, pos).dom_0:null);
  $insertBefore_1(side.dom_0, td, point);
  return td;
}

function $isHidden(this$static, c){
  return !!this$static.hiddens && $indexOf_1(this$static.hiddens, c, 0) != -1;
}

function $unhideComponent(this$static, c){
  var b;
  if ($remove_15(this$static.hiddens, c)) {
    b = dynamicCast($getData(c, 'xtbIsVisible'), Q$Boolean);
    b.value_0 && c.show();
    !c.dataMap && (c.dataMap = new FastMap_0);
    $put(c.dataMap, 'xtbWidth', null);
    !c.dataMap && (c.dataMap = new FastMap_0);
    $put(c.dataMap, 'xtbIsVisible', null);
  }
}

function ToolBarLayout_0(){
  Layout_0.call(this);
  this.monitorResize = true;
  this.hiddens = new ArrayList_0;
  this.targetStyleName = 'x-toolbar-layout-ct';
}

defineSeed(197, 166, makeCastMap([Q$Observable, Q$ToolBarLayout]), ToolBarLayout_0);
_.onComponentHide = function onComponentHide_1(component){
  component.rendered && $addStyleName($getParent(component.el), initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, [component.hideMode.value_0]));
}
;
_.onComponentShow = function onComponentShow_1(component){
  component.rendered && $removeStyleName($getParent(component.el), component.hideMode.value_0);
}
;
_.onLayout = function onLayout_4(container, target){
  var c, i, len, pos, side, td;
  if (!this.leftTr) {
    new El_0(insertHtml('beforeEnd', target.dom_0, '<table cellspacing="0" class="x-toolbar-ct" role="presentation"><tbody><tr><td class="x-toolbar-left" align="left"><table cellspacing="0" role="presentation"><tbody><tr class="x-toolbar-left-row"><\/tr><\/tbody><\/table><\/td><td class="x-toolbar-right" align="right"><table cellspacing="0" class="x-toolbar-right-ct" role="presentation"><tbody><tr><td><table cellspacing="0" role="presentation"><tbody><tr class="x-toolbar-right-row" role="presentation"><\/tr><\/tbody><\/table><\/td><td><table cellspacing="0" role="presentation"><tbody><tr class="x-toolbar-extras-row"><\/tr><\/tbody><\/table><\/td><\/tr><\/tbody><\/table><\/td><\/tr><\/tbody><\/table>'));
    this.leftTr = $child(target, 'tr.x-toolbar-left-row');
    this.rightTr = $child(target, 'tr.x-toolbar-right-row');
    this.extrasTr = $child(target, 'tr.x-toolbar-extras-row');
    this.leftTr.dom_0.setAttribute('role', 'presentation');
    this.rightTr.dom_0.setAttribute('role', 'presentation');
    this.extrasTr.dom_0.setAttribute('role', 'presentation');
  }
  side = this.leftTr;
  pos = 0;
  for (i = 0 , len = container.items.size_0; i < len; ++i , ++pos) {
    c = i < container.items.size_0?dynamicCast($get_6(container.items, i), Q$Component):null;
    if (instanceOf(c, Q$FillToolItem)) {
      side = this.rightTr;
      pos = -1;
    }
     else if (c.rendered) {
      if (!(!!this.hiddens && $indexOf_1(this.hiddens, c, 0) != -1) && !$isValidParent(c.el.dom_0, $getChild_0(side.dom_0, pos))) {
        td = $insertCell(side, pos);
        $appendChild_0(td, c.el.dom_0);
        i < len - 1?$setStyleAttribute(c.el, 'marginRight', this.spacing + 'px'):$setStyleAttribute(c.el, 'marginRight', '0px');
      }
    }
     else {
      $render(c, $insertCell(side, pos), -1);
      i < len - 1?$setStyleAttribute(c.el, 'marginRight', this.spacing + 'px'):$setStyleAttribute(c.el, 'marginRight', '0px');
    }
  }
  $cleanup_0(this.leftTr);
  $cleanup_0(this.rightTr);
  $cleanup_0(this.extrasTr);
  $fitToSize(this, target);
}
;
_.setContainer = function setContainer_0(ct){
  !this.containerListener && (this.containerListener = new ToolBarLayout$1_0(this));
  if (this.container) {
    $removeListener_0(this.container, ($clinit_Events() , Attach), this.containerListener);
    $removeListener_0(this.container, Detach, this.containerListener);
  }
  $setContainer(this, ct);
  if (this.container) {
    $addListener_0(this.container, ($clinit_Events() , Attach), this.containerListener);
    $addListener_0(this.container, Detach, this.containerListener);
  }
}
;
_.containerListener = null;
_.extrasTr = null;
_.hiddens = null;
_.lastOverflow = false;
_.lastWidth = 0;
_.leftTr = null;
_.more = null;
_.moreMenu = null;
_.rightTr = null;
_.spacing = 0;
function $handleEvent_8(this$static, be){
  be.type_0 == ($clinit_Events() , Attach) && this$static.this$0.lastOverflow?doAttach(this$static.this$0.more):be.type_0 == Detach && this$static.this$0.lastOverflow && doDetach(this$static.this$0.more);
}

function ToolBarLayout$1_0(this$0){
  this.this$0 = this$0;
}

defineSeed(198, 1, makeCastMap([Q$Listener]), ToolBarLayout$1_0);
_.handleEvent = function handleEvent_10(be){
  $handleEvent_8(this, dynamicCast(be, Q$ComponentEvent));
}
;
_.this$0 = null;
function $componentSelected(this$static, ce){
  var e;
  e = new ButtonEvent_0(this$static.val$b);
  $setEvent(e, ce.event_0);
  $fireEvent_3(this$static.val$b, ($clinit_Events() , Select_0), e);
}

function ToolBarLayout$3_0(val$b){
  this.val$b = val$b;
}

defineSeed(199, 100, makeCastMap([Q$Listener]), ToolBarLayout$3_0);
_.componentSelected = function componentSelected(ce){
  $componentSelected(this, dynamicCast(ce, Q$MenuEvent));
}
;
_.val$b = null;
function $handleEvent_9(this$static, be){
  var c, c$iterator;
  $removeAll(this$static.this$0.moreMenu);
  for (c$iterator = new AbstractList$IteratorImpl_0(this$static.this$0.container.items); c$iterator.i < c$iterator.this$0_0.size_1();) {
    c = dynamicCast($next_3(c$iterator), Q$Component);
    $isHidden(this$static.this$0, c) && $addComponentToMenu(dynamicCast(be.container, Q$Menu), c);
  }
  dynamicCast(be.container, Q$Menu).items.size_0 == 0 && $add_9(dynamicCast(be.container, Q$Menu), new HeaderMenuItem_0);
}

function ToolBarLayout$4_0(this$0){
  this.this$0 = this$0;
}

defineSeed(200, 1, makeCastMap([Q$Listener]), ToolBarLayout$4_0);
_.handleEvent = function handleEvent_11(be){
  $handleEvent_9(this, dynamicCast(be, Q$MenuEvent));
}
;
_.this$0 = null;
function $activate(this$static){
  var li, me;
  if (this$static.disabled) {
    return;
  }
  li = $getParent(this$static.el);
  !!li && $addStyleName(li, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['x-menu-item-active']));
  me = new MenuEvent_0(this$static.parentMenu);
  me.item = this$static;
  $fireEvent_3(this$static, ($clinit_Events() , Activate), me);
}

function $addSelectionListener(this$static, listener){
  $addListener_0(this$static, ($clinit_Events() , Select_0), listener);
}

function $deactivate(this$static){
  var li, me;
  li = $getParent(this$static.el);
  !!li && $removeStyleName(li, 'x-menu-item-active');
  me = new MenuEvent_0(this$static.parentMenu);
  me.item = this$static;
  $fireEvent_3(this$static, ($clinit_Events() , Deactivate), me);
}

function $onClick_1(this$static, be){
  var me;
  $cancelBubble(be);
  $preventDefault(be);
  me = new MenuEvent_0(this$static.parentMenu);
  me.item = this$static;
  $setEvent(me, be.event_0);
  !this$static.disabled && $fireEvent_3(this$static, ($clinit_Events() , Select_0), me) && this$static.hideOnClick && !!this$static.parentMenu && $hide_1(this$static.parentMenu, true);
}

function $onDisable(this$static){
  var li;
  $addStyleName_1(this$static, this$static.disabledStyle);
  li = $getParent(this$static.el);
  !!li && $addStyleName(li, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, [this$static.disabledStyle]));
}

function $onEnable(this$static){
  var li;
  $removeStyleName_2(this$static, this$static.disabledStyle);
  $clearOpacity(this$static.el);
  li = $getParent(this$static.el);
  !!li && $removeStyleName(li, this$static.disabledStyle);
}

function Item_0(){
  Component_0.call(this);
  this.disabledStyle = 'x-item-disabled';
}

defineSeed(202, 144, makeCastMap([Q$Observable, Q$Component, Q$Item, Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsWidget, Q$UIObject, Q$Widget]));
_.activate = function activate(autoExpand){
  $activate(this);
}
;
_.deactivate = function deactivate(){
  $deactivate(this);
}
;
_.expandMenu = function expandMenu(autoActivate){
}
;
_.onDisable = function onDisable_5(){
  $onDisable(this);
}
;
_.onEnable = function onEnable_5(){
  $onEnable(this);
}
;
_.shouldDeactivate = function shouldDeactivate(ce){
  return true;
}
;
_.canActivate = false;
_.hideOnClick = true;
_.parentMenu = null;
function $setText_1(this$static, text){
  this$static.text_0 = text;
  this$static.rendered && $update(this$static.el, text == null || $equals_2('', text)?'&#160;':text);
}

function HeaderMenuItem_0(){
  $clinit_Component();
  Item_0.call(this);
  this.hideOnClick = false;
  this.text_0 = '<div class="x-toolbar-no-items">(None)<\/div>';
}

defineSeed(201, 202, makeCastMap([Q$Observable, Q$Component, Q$Item, Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsWidget, Q$UIObject, Q$Widget]), HeaderMenuItem_0);
_.onRender = function onRender_14(target, index){
  var span;
  span = $doc.createElement('span');
  span.className = 'x-menu-text';
  $setElement_0(this, span);
  $insertChild_0(target, ($clinit_PotentialElement() , $resolve(span)), index);
  $setText_1(this, this.text_0);
}
;
_.text_0 = null;
function $add_9(this$static, item){
  return $insert_3(this$static, item, this$static.items.size_0);
}

function $clearGroups(this$static){
  var e, groups, i;
  groups = $select(this$static.el, '.x-menu-radio-group');
  for (i = 0; i < groups.length; ++i) {
    e = groups[i];
    $removeFromParent(($clinit_El() , fly_1(e, '_global')));
  }
}

function $constrainScroll(this$static, y){
  var full, i, max, nodes;
  full = this$static.ul.setHeight_0('auto').dom_0.offsetHeight || 0;
  max = ($clinit_XDOM() , getViewportHeight()) - y;
  if (full > max && max > 0) {
    this$static.activeMax = max - 10 - 16;
    this$static.ul.setHeight(this$static.activeMax, true);
    $createScrollers(this$static);
  }
   else {
    this$static.ul.setHeight(full, true);
    nodes = $select(this$static.el, '.x-menu-scroller');
    for (i = 0; i < nodes.length; ++i) {
      fly_1(nodes[i], 'component').setVisible(false);
    }
  }
  $setScrollTop(this$static.ul, 0);
}

function $createScrollers(this$static){
  var cr, listener, scroller;
  if ($select(this$static.el, '.x-menu-scroller').length == 0) {
    listener = new Menu$3_0(this$static);
    scroller = new El_0($doc.createElement('div'));
    $addStyleName(scroller, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['x-menu-scroller', 'x-menu-scroller-top']));
    $setInnerHTML(scroller.dom_0, '&nbsp;');
    cr = new ClickRepeater_0(scroller);
    $doAttach(cr);
    $addListener(cr, ($clinit_Events() , OnClick), listener);
    !this$static.attachables && (this$static.attachables = new ArrayList_0);
    $add_17(this$static.attachables, cr);
    $insertFirst(this$static.el, scroller.dom_0);
    scroller = new El_0($doc.createElement('div'));
    $addStyleName(scroller, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['x-menu-scroller', 'x-menu-scroller-bottom']));
    $setInnerHTML(scroller.dom_0, '&nbsp;');
    cr = new ClickRepeater_0(scroller);
    $doAttach(cr);
    $addListener(cr, OnClick, listener);
    !this$static.attachables && (this$static.attachables = new ArrayList_0);
    $add_17(this$static.attachables, cr);
    $appendChild(this$static.el, scroller.dom_0);
  }
}

function $deactiveActiveItem(this$static){
  if (this$static.activeItem) {
    this$static.activeItem.deactivate();
    this$static.activeItem = null;
  }
  $clinit_GXT();
  if (focusManagerEnabled) {
    $unframe((!instance && (instance = new FocusFrame_0) , instance));
    $getElement(this$static).setAttribute('aria-activedescendant', '');
  }
}

function $doAutoSize(this$static){
  var width;
  if (this$static.showing && this$static.width_0 == null) {
    width = (this$static.ul.dom_0.offsetWidth || 0) + $getFrameWidth(this$static.el, 'lr');
    this$static.el.setWidth(width > 120?width:120, true);
  }
}

function $handleRadioGroups(this$static){
  var i;
  $clearGroups(this$static);
  for (i = 0; i < this$static.items.size_0; ++i) {
    i < this$static.items.size_0?dynamicCast($get_6(this$static.items, i), Q$Component):null;
  }
}

function $hide_1(this$static, deep){
  var me;
  if (this$static.showing) {
    me = new MenuEvent_0(this$static);
    if ($fireEvent_3(this$static, ($clinit_Events() , BeforeHide), me)) {
      if (this$static.activeItem) {
        this$static.activeItem.deactivate();
        this$static.activeItem = null;
      }
      $onHide(this$static);
      !!this$static.layer && $hideUnders(this$static.layer);
      $deactiveActiveItem(this$static);
      $remove_8(($clinit_RootPanel() , get_3()), this$static);
      $remove(this$static.eventPreview);
      this$static.showing = false;
      this$static.hidden = true;
      $fireEvent_3(this$static, Hide, me);
      deep && !!this$static.parentItem && $hide_1(this$static.parentItem.parentMenu, true);
    }
  }
  return this$static;
}

function $insert_3(this$static, item, index){
  instanceOf(item, Q$Item) && (dynamicCast(item, Q$Item).parentMenu = this$static);
  return $insert_0(this$static, item, index);
}

function $onAutoHide(this$static, pe){
  var me;
  if (((!pe.event_0?-1:$eventGetTypeInt(pe.event_0.type)) == 4 || (!pe.event_0?-1:$eventGetTypeInt(pe.event_0.type)) == 131072 || (!pe.event_0?-1:$eventGetTypeInt(pe.event_0.type)) == 16384 || (!pe.event_0?-1:$eventGetTypeInt(pe.event_0.type)) == 256) && !($within(pe, $getElement(this$static)) || !!$findParent(fly_1(!pe.event_0?null:pe.event_0.target, 'component'), '.x-ignore', -1))) {
    me = new MenuEvent_0(this$static);
    $setEvent(me, pe.event_0);
    if ($fireEvent_3(this$static, ($clinit_Events() , AutoHide), me)) {
      $hide_1(this$static, true);
      return true;
    }
  }
  return false;
}

function $onEscape_0(this$static, pe){
  (!pe.event_0?-1:pe.event_0.keyCode || 0) == 27 && $hide_1(this$static, false);
}

function $onKeyDown(this$static, ce){
  $cancelBubble(ce);
  $preventDefault(ce);
  !$tryActivate(this$static, $indexOf(this$static, this$static.activeItem) + 1, 1) && $tryActivate(this$static, 0, 1);
}

function $onKeyUp(this$static, ce){
  $cancelBubble(ce);
  $preventDefault(ce);
  !$tryActivate(this$static, $indexOf(this$static, this$static.activeItem) - 1, -1) && $tryActivate(this$static, this$static.items.size_0 - 1, -1);
}

function $onMouseMove(this$static, ce){
  var c, item;
  c = $findItem(this$static, !ce.event_0?null:ce.event_0.target);
  if (!!c && instanceOf(c, Q$Item)) {
    item = dynamicCast(c, Q$Item);
    this$static.activeItem != item && item.canActivate && !item.disabled && $setActiveItem(this$static, item, true);
  }
}

function $onMouseOver(this$static, ce){
  var c, from, item;
  from = ce.event_0.relatedTarget;
  if (!from || is_2(from) && !$isOrHasChild($getElement(this$static), from)) {
    c = $findItem(this$static, !ce.event_0?null:ce.event_0.target);
    if (!!c && instanceOf(c, Q$Item)) {
      item = dynamicCast(c, Q$Item);
      this$static.activeItem != item && item.canActivate && !item.disabled && $setActiveItem(this$static, item, true);
    }
  }
}

function $onScroll(this$static, ce){
  var target, top_0;
  target = ce.el;
  top_0 = is_0(target.dom_0, '.x-menu-scroller-top');
  $setScrollTop(this$static.ul, $getPropertyInt(this$static.ul.dom_0, 'scrollTop') + 24 * (top_0?-1:1));
  (top_0?$getPropertyInt(this$static.ul.dom_0, 'scrollTop') <= 0:$getPropertyInt(this$static.ul.dom_0, 'scrollTop') + this$static.activeMax >= $getPropertyInt(this$static.ul.dom_0, 'scrollHeight')) && $removeStyleName_0(target, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['x-menu-item-active', 'x-menu-scroller-active']));
}

function $scrollMenu(this$static, top_0){
  $setScrollTop(this$static.ul, $getPropertyInt(this$static.ul.dom_0, 'scrollTop') + 24 * (top_0?-1:1));
}

function $setActiveItem(this$static, c, autoExpand){
  var item;
  if (!c) {
    $deactiveActiveItem(this$static);
    return;
  }
  if (instanceOf(c, Q$Item)) {
    item = dynamicCast(c, Q$Item);
    if (item != this$static.activeItem) {
      $deactiveActiveItem(this$static);
      this$static.activeItem = item;
      item.activate(autoExpand);
      $scrollIntoView(item.el, this$static.ul.dom_0, null);
      $focus(this$static);
      $clinit_GXT();
      if (focusManagerEnabled) {
        $frame((!instance && (instance = new FocusFrame_0) , instance), item);
        $setAttribute($getElement(this$static), 'aria-activedescendant', $getId_0(item));
      }
    }
     else 
      autoExpand && item.expandMenu(true);
  }
}

function $show_1(this$static, elem, pos, offsets){
  var me;
  me = new MenuEvent_0(this$static);
  if ($fireEvent_3(this$static, ($clinit_Events() , BeforeShow), me)) {
    $add_11(($clinit_RootPanel() , get_3()), this$static);
    $makePositionable_0(this$static.el, true);
    $onShow(this$static);
    this$static.el.setZIndex(($clinit_XDOM() , $clinit_XDOM() , ++zIndexId));
    this$static.showing = true;
    $doAutoSize(this$static);
    $alignTo(this$static.el, elem, pos, offsets);
    $constrainScroll(this$static, $getAbsoluteTop(this$static.el.dom_0));
    this$static.el.setVisible(true);
    $add(this$static.eventPreview);
    this$static.focusOnShow && $focus(this$static);
    $fireEvent_3(this$static, Show, me);
  }
}

function $tryActivate(this$static, start, step){
  var c, i, item, len;
  for (i = start , len = this$static.items.size_0; i >= 0 && i < len; i += step) {
    c = i < this$static.items.size_0?dynamicCast($get_6(this$static.items, i), Q$Component):null;
    if (instanceOf(c, Q$Item)) {
      item = dynamicCast(c, Q$Item);
      if (item.canActivate && !item.disabled) {
        $setActiveItem(this$static, item, false);
        return item;
      }
    }
  }
  return null;
}

function Menu_0(){
  $clinit_Component();
  Container_0.call(this);
  this.baseStyle = 'x-menu';
  this.shim = true;
  this.monitorWindowResize = true;
  this.shadow = true;
  this.layoutOnChange = true;
  this.enableLayout = true;
  $setLayout(this, new MenuLayout_0);
  this.eventPreview = new Menu$1_0(this);
  this.eventPreview.autoHide = false;
}

defineSeed(203, 153, makeCastMap([Q$Observable, Q$BoxComponent, Q$Component, Q$Container, Q$Menu, Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsWidget, Q$UIObject, Q$Widget]), Menu_0);
_.afterRender_0 = function afterRender_4(){
  $afterRender(this);
  new Menu$2_0(this, this);
}
;
_.createComponentEvent = function createComponentEvent_5(event_0){
  return new MenuEvent_0(this);
}
;
_.createContainerEvent = function createContainerEvent_1(item){
  return new MenuEvent_1(this, item);
}
;
_.getLayoutTarget = function getLayoutTarget_2(){
  return this.ul;
}
;
_.hide = function hide_0(){
  $hide_1(this, false);
}
;
_.insert = function insert_1(item, index){
  return $insert_3(this, item, index);
}
;
_.isVisible = function isVisible_1(){
  return this.showing;
}
;
_.onComponentEvent = function onComponentEvent_8(ce){
  var t, item, to, top_0;
  switch (!ce.event_0?-1:$eventGetTypeInt(ce.event_0.type)) {
    case 1:
      item = $findItem(this, !ce.event_0?null:ce.event_0.target);
      !!item && instanceOf(item, Q$Item) && $onClick_1(dynamicCast(item, Q$Item), ce);
      break;
    case 64:
      $onMouseMove(this, ce);
      break;
    case 32:
      to = ce.event_0.relatedTarget;
      !!this.activeItem && (!to || is_2(to) && !$isOrHasChild($getElement(this.activeItem), to)) && this.activeItem.shouldDeactivate(ce) && $deactiveActiveItem(this);
      break;
    case 16:
      $onMouseOver(this, ce);
      break;
    case 131072:
      {
        $scrollMenu(this, (ce.event_0.detail * 4 || 0) < 0);
      }

  }
  t = $getTargetEl(ce);
  if (is_0(t.dom_0, '.x-menu-scroller')) {
    switch (!ce.event_0?-1:$eventGetTypeInt(ce.event_0.type)) {
      case 16:
        top_0 = is_0(t.dom_0, '.x-menu-scroller-top');
        (top_0?$getPropertyInt(this.ul.dom_0, 'scrollTop') > 0:$getPropertyInt(this.ul.dom_0, 'scrollTop') + this.activeMax < $getPropertyInt(this.ul.dom_0, 'scrollHeight')) && $addStyleName(t, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['x-menu-item-active', 'x-menu-scroller-active']));
        break;
      case 32:
        $removeStyleName_0(t, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['x-menu-item-active', 'x-menu-scroller-active']));
    }
  }
}
;
_.onDetach = function onDetach_4(){
  $onDetach(this);
  $onDetachHelper(this);
  !!this.eventPreview && $remove(this.eventPreview);
}
;
_.onHide = function onHide_2(){
  $onHide(this);
  !!this.layer && $hideUnders(this.layer);
  $deactiveActiveItem(this);
}
;
_.onInsert = function onInsert_0(item, index){
  (this.autoHeight || this.autoWidth) && !!this.layer && $sync_0(this.layer);
  this.rendered && ($clinit_GXT() , $clinit_GXT() , ariaEnabled) && false;
}
;
_.onLayoutExcecuted = function onLayoutExcecuted_0(layout){
  $onLayoutExcecuted(this);
  $doAutoSize(this);
}
;
_.onRemove = function onRemove_0(item){
  (this.autoHeight || this.autoWidth) && !!this.layer && $sync_0(this.layer);
  this.rendered && ($clinit_GXT() , $clinit_GXT() , ariaEnabled) && false;
}
;
_.onRender = function onRender_15(target, index){
  $setElement_1(this, $doc.createElement('div'), target, index);
  $makePositionable_0(this.el, true);
  this.ul = new El_0($doc.createElement('div'));
  $addStyleName(this.ul, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, [this.baseStyle + '-list']));
  $appendChild_0($getElement(this), this.ul.dom_0);
  $add_0(this.eventPreview.ignoreList, $getElement(this));
  $setTabIndex(this.el, 0);
  this.el.dom_0.setAttribute('hideFocus', 'true');
  $addStyleName(this.el, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['x-ignore']));
  $clinit_GXT();
  if (ariaEnabled) {
    $getElement(this).setAttribute('role', 'menu');
    this.ul.dom_0.setAttribute('role', 'presentation');
    $handleRadioGroups(this);
  }
  this.plain && $addStyleName_1(this, 'x-menu-plain');
  this.rendered?this.eventsToSink == -1?$sinkEvents_1($getElement(this), 132093 | ($getElement(this).__eventBits || 0)):(this.eventsToSink |= 132093):(this.events |= 132093);
}
;
_.onWindowResize = function onWindowResize_0(width, height){
  $hide_1(this, true);
}
;
_.remove_4 = function remove_10(item){
  var success;
  return this.activeItem == item && $deactiveActiveItem(this) , success = $remove_3(this, item) , success && instanceOf(item, Q$Item) && (dynamicCast(item, Q$Item).parentMenu = null) , success;
}
;
_.activeItem = null;
_.activeMax = 0;
_.eventPreview = null;
_.focusOnShow = true;
_.parentItem = null;
_.plain = false;
_.showing = false;
_.ul = null;
function Menu$1_0(this$0){
  this.this$0 = this$0;
  BaseEventPreview_0.call(this);
}

defineSeed(204, 53, makeCastMap([Q$Observable, Q$EventHandler, Q$Event$NativePreviewHandler]), Menu$1_0);
_.onPreview = function onPreview_1(pe){
  $onAutoHide(this.this$0, pe);
  return $onPreview(this, pe);
}
;
_.onPreviewKeyPress = function onPreviewKeyPress_1(pe){
  $fireEvent(this, ($clinit_Events() , KeyPress), pe);
  $onEscape_0(this.this$0, pe);
}
;
_.this$0 = null;
function Menu$2_0(this$0, $anonymous0){
  $clinit_KeyNav();
  this.this$0 = this$0;
  $bind(this, $anonymous0);
}

defineSeed(205, 129, makeCastMap([Q$Listener, Q$Observable]), Menu$2_0);
_.onDown = function onDown_0(ce){
  $onKeyDown(this.this$0, ce);
}
;
_.onEnter_1 = function onEnter_5(be){
  if (this.this$0.activeItem) {
    !!be.event_0 && (be.event_0.cancelBubble = true , undefined);
    $onClick_1(this.this$0.activeItem, be);
  }
}
;
_.onLeft_0 = function onLeft_2(be){
  var menu;
  $hide_1(this.this$0, false);
  if (this.this$0.parentItem) {
    $focus(this.this$0.parentItem.parentMenu);
    $clinit_GXT();
    focusManagerEnabled && $frame((!instance && (instance = new FocusFrame_0) , instance), this.this$0.parentItem);
  }
   else {
    menu = this.this$0;
    while (menu.parentItem) {
      menu = menu.parentItem.parentMenu;
    }
    $fireEvent_2(menu, ($clinit_Events() , Minimize));
  }
}
;
_.onRight_0 = function onRight_2(be){
  var menu, mi;
  !!this.this$0.activeItem && this.this$0.activeItem.expandMenu(true);
  if (instanceOf(this.this$0.activeItem, Q$MenuItem)) {
    mi = dynamicCast(this.this$0.activeItem, Q$MenuItem);
    if (!!mi.subMenu && mi.subMenu.showing) {
      return;
    }
  }
  menu = this.this$0;
  while (menu.parentItem) {
    menu = menu.parentItem.parentMenu;
  }
  $fireEvent_2(menu, ($clinit_Events() , Maximize));
}
;
_.onUp = function onUp_0(ce){
  $onKeyUp(this.this$0, ce);
}
;
_.this$0 = null;
function $handleEvent_10(this$static, be){
  $onScroll(this$static.this$0, be);
}

function Menu$3_0(this$0){
  this.this$0 = this$0;
}

defineSeed(206, 1, makeCastMap([Q$Listener]), Menu$3_0);
_.handleEvent = function handleEvent_12(be){
  $handleEvent_10(this, dynamicCast(be, Q$ClickRepeaterEvent));
}
;
_.this$0 = null;
function $expand_0(item, selectFirst){
  item.menu.focusOnShow = false;
  $show_1(item.menu, $getElement(item), 'tl-bl', initValues(_3I_classLit, makeCastMap([Q$Serializable]), -1, [0, 1]));
  item.expanded = true;
  item.menu.items.size_0 > 0 && selectFirst && $setActiveItem(item.menu, $getItem(item.menu, 0), false);
}

function $onDeactivate(this$static, item){
  if (item.expanded) {
    $hide_1(item.menu, false);
    item.expanded = false;
  }
  $removeStyleName_2(item, item.baseStyle + '-active');
  $removeStyleName_2(item, item.baseStyle + '-over');
  $clinit_GXT();
  focusManagerEnabled && $unframe((!instance && (instance = new FocusFrame_0) , instance));
  this$static.active == item && (this$static.active = null);
}

function $onDown(this$static, ce){
  if (!!this$static.active && this$static.items.size_0 > 0) {
    $cancelBubble(ce);
    $preventDefault(ce);
    if (this$static.active.expanded) {
      $focus(this$static.active.menu);
      $setActiveItem(this$static.active.menu, $getItem(this$static.active.menu, 0), false);
    }
     else {
      $expand_0(this$static.active, true);
    }
  }
}

function $onInsert(this$static, item){
  (this$static.autoHeight || this$static.autoWidth) && !!this$static.layer && $sync_0(this$static.layer);
  $addListener_0(item.menu, ($clinit_Events() , Hide), this$static.listener);
  $addListener_0(item.menu, AutoHide, this$static.listener);
  $addListener_0(item.menu, Maximize, this$static.listener);
  $addListener_0(item.menu, Minimize, this$static.listener);
}

function $onKeyPress(this$static, ce){
  switch (!ce.event_0?-1:ce.event_0.keyCode || 0) {
    case 40:
      $onDown(this$static, ce);
      break;
    case 37:
      $onLeft(this$static);
      break;
    case 39:
      $onRight(this$static);
  }
}

function $onLeft(this$static){
  var idx, item;
  if (!!this$static.active && this$static.items.size_0 > 1) {
    idx = $indexOf(this$static, this$static.active);
    idx = idx != 0?idx - 1:this$static.items.size_0 - 1;
    item = dynamicCast(idx < this$static.items.size_0?dynamicCast($get_6(this$static.items, idx), Q$Component):null, Q$MenuBarItem);
    $setActiveItem_0(this$static, item, item.expanded);
  }
}

function $onRemove_0(this$static, item){
  (this$static.autoHeight || this$static.autoWidth) && !!this$static.layer && $sync_0(this$static.layer);
  $removeListener_0(item.menu, ($clinit_Events() , Hide), this$static.listener);
  $removeListener_0(item.menu, AutoHide, this$static.listener);
  $removeListener_0(item.menu, Maximize, this$static.listener);
  $removeListener_0(item.menu, Minimize, this$static.listener);
}

function $onRight(this$static){
  var idx, item;
  if (!!this$static.active && this$static.items.size_0 > 1) {
    idx = $indexOf(this$static, this$static.active);
    idx = idx != this$static.items.size_0 - 1?idx + 1:0;
    item = dynamicCast(idx < this$static.items.size_0?dynamicCast($get_6(this$static.items, idx), Q$Component):null, Q$MenuBarItem);
    $setActiveItem_0(this$static, item, item.expanded);
  }
}

function $setActiveItem_0(this$static, item, expand){
  if (this$static.active != item) {
    !!this$static.active && $onDeactivate(this$static, this$static.active);
    this$static.active = item;
    $setAttribute($getElement(this$static), 'aria-activedescendant', $getId_0(item));
    $addStyleName_1(item, item.baseStyle + '-active');
    $addStyleName_1(item, item.baseStyle + '-over');
    $clinit_GXT();
    focusManagerEnabled && $frame((!instance && (instance = new FocusFrame_0) , instance), this$static.active);
    expand && $expand_0(item, true);
  }
}

--></script>
<script><!--
function MenuBar_0(){
  $clinit_Component();
  Container_0.call(this);
  this.baseStyle = 'x-menubar';
  this.enableLayout = true;
  this.attachChildren = false;
  this.listener = new MenuBar$1_0(this);
}

defineSeed(207, 153, makeCastMap([Q$Observable, Q$BoxComponent, Q$Component, Q$Container, Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsWidget, Q$UIObject, Q$Widget]), MenuBar_0);
_.insert = function insert_2(item, index){
  return $insert_0(this, dynamicCast(item, Q$MenuBarItem), index);
}
;
_.onComponentEvent = function onComponentEvent_9(ce){
  var type, item, eT, item_0;
  type = !ce.event_0?-1:$eventGetTypeInt(ce.event_0.type);
  switch (type) {
    case 16:
      item = dynamicCast($findItem(this, !ce.event_0?null:ce.event_0.target), Q$MenuBarItem);
      !!item && item != this.active && $setActiveItem_0(this, item, !!this.active && this.active.expanded);
      break;
    case 32:
      eT = ce.event_0.relatedTarget;
      (!eT || is_2(eT) && !$findItem(this, eT)) && !!this.active && !this.active.expanded && $onDeactivate(this, this.active);
      break;
    case 1:
      !!ce.event_0 && (ce.event_0.cancelBubble = true , undefined);
      !!ce.event_0 && (ce.event_0.preventDefault() , undefined);
      item_0 = dynamicCast($findItem(this, !ce.event_0?null:ce.event_0.target), Q$MenuBarItem);
      !!item_0 && (item_0 == this.active?item_0.expanded?($hide_1(item_0.menu, false) , item_0.expanded = false):$expand_0(item_0, false):$setActiveItem_0(this, item_0, true));
      break;
    case 2048:
      this.autoSelect && !this.active && this.items.size_0 > 0 && $setActiveItem_0(this, dynamicCast(0 < this.items.size_0?dynamicCast($get_6(this.items, 0), Q$Component):null, Q$MenuBarItem), false);
      break;
    case 4096:
      !!this.active && !this.active.expanded && $onDeactivate(this, this.active);
  }
}
;
_.onInsert = function onInsert_1(item, index){
  $onInsert(this, dynamicCast(item, Q$MenuBarItem));
}
;
_.onRemove = function onRemove_1(item){
  $onRemove_0(this, dynamicCast(item, Q$MenuBarItem));
}
;
_.onRender = function onRender_16(target, index){
  $setElement_1(this, $doc.createElement('div'), target, index);
  $setTabIndex(this.el, -1);
  this.el.dom_0.setAttribute('hideFocus', 'true');
  $clinit_GXT();
  if (ariaEnabled) {
    $getElement(this).setAttribute('role', 'menubar');
    $getElement(this).setAttribute('aria-hidden', 'false');
  }
  new MenuBar$2_0(this, this);
  $layout(this, false);
  this.rendered?this.eventsToSink == -1?$sinkEvents_1($getElement(this), 6269 | ($getElement(this).__eventBits || 0)):(this.eventsToSink |= 6269):(this.events |= 6269);
}
;
_.onResize = function onResize_5(width, height){
}
;
_.remove_4 = function remove_11(item){
  return $remove_3(this, dynamicCast(item, Q$MenuBarItem));
}
;
_.active = null;
_.autoSelect = true;
_.listener = null;
function $handleEvent_11(this$static, be){
  var index, item, type;
  type = be.type_0;
  if (type == ($clinit_Events() , Hide)) {
    this$static.this$0.autoSelect = false;
    $focus(this$static.this$0);
    this$static.this$0.autoSelect = true;
    !!this$static.this$0.active && (this$static.this$0.active.expanded = false);
  }
   else if (type == AutoHide) {
    this$static.this$0.autoSelect = false;
    $focus(this$static.this$0);
    this$static.this$0.autoSelect = true;
    !!this$static.this$0.active && (this$static.this$0.active.expanded = false);
  }
   else if (type == Maximize) {
    index = $indexOf(this$static.this$0, this$static.this$0.active);
    index = index != this$static.this$0.items.size_0 - 1?index + 1:0;
    item = dynamicCast($getItem(this$static.this$0, index), Q$MenuBarItem);
    $setActiveItem_0(this$static.this$0, item, true);
  }
   else if (type == Minimize) {
    index = $indexOf(this$static.this$0, this$static.this$0.active);
    index = index > 0?index - 1:this$static.this$0.items.size_0 - 1;
    item = dynamicCast($getItem(this$static.this$0, index), Q$MenuBarItem);
    $setActiveItem_0(this$static.this$0, item, true);
  }
}

function MenuBar$1_0(this$0){
  this.this$0 = this$0;
}

defineSeed(208, 1, makeCastMap([Q$Listener]), MenuBar$1_0);
_.handleEvent = function handleEvent_13(be){
  $handleEvent_11(this, dynamicCast(be, Q$MenuEvent));
}
;
_.this$0 = null;
function MenuBar$2_0(this$0, $anonymous0){
  $clinit_KeyNav();
  this.this$0 = this$0;
  $bind(this, $anonymous0);
}

defineSeed(209, 129, makeCastMap([Q$Listener, Q$Observable]), MenuBar$2_0);
_.onKeyPress = function onKeyPress_0(ce){
  $onKeyPress(this.this$0, ce);
}
;
_.this$0 = null;
function $setText_2(this$static, text){
  this$static.text_0 = text;
  this$static.rendered && $update(this$static.el, text == null || $equals_2('', text)?'&#160;':text);
}

function MenuBarItem_0(menu){
  $clinit_Component();
  Component_0.call(this);
  this.baseStyle = 'x-menubar-item';
  this.text_0 = 'MHCS';
  this.menu = menu;
  new MenuBarItem$1_0(menu);
}

defineSeed(210, 144, makeCastMap([Q$Observable, Q$Component, Q$MenuBarItem, Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsWidget, Q$UIObject, Q$Widget]), MenuBarItem_0);
_.onRender = function onRender_17(target, index){
  $setElement_1(this, $doc.createElement('div'), target, index);
  this.rendered?$setStyleAttribute(this.el, 'display', 'inline'):(this.styles += 'display:inline;');
  $setText_2(this, this.text_0);
  $clinit_GXT();
  if (ariaEnabled) {
    if (this.menu) {
      $setState((!this.ariaSupport && (this.ariaSupport = new AriaSupport_0(this)) , this.ariaSupport), 'aria-owns', $getId_0(this.menu));
      $setLabelledBy($getAriaSupport(this.menu), $getId_0(this));
    }
    $getElement(this).setAttribute('role', 'menuitem');
    $getElement(this).setAttribute('aria-haspopup', 'true');
  }
}
;
_.expanded = false;
_.menu = null;
_.text_0 = null;
function MenuBarItem$1_0($anonymous0){
  $clinit_KeyNav();
  $bind(this, $anonymous0);
}

defineSeed(211, 129, makeCastMap([Q$Listener, Q$Observable]), MenuBarItem$1_0);
_.onLeft_0 = function onLeft_3(ce){
}
;
function $expandMenu(this$static){
  if (!this$static.disabled && !!this$static.subMenu) {
    this$static.subMenu.focusOnShow = true;
    $show_1(this$static.subMenu, this$static.el.dom_0, 'tl-tr?', initValues(_3I_classLit, makeCastMap([Q$Serializable]), -1, [0, 0]));
  }
}

function $setIcon_1(this$static, icon){
  var e, oldIcon;
  this$static.icon = icon;
  if (this$static.rendered) {
    oldIcon = $selectNode(this$static.el, '.x-menu-item-icon');
    !!oldIcon && oldIcon.remove_0();
    if (icon) {
      e = $createStructure(icon.url, icon.left_0, icon.top_0, icon.width_0, icon.height_0);
      $addStyleName(($clinit_El() , fly_1(e, '_global')), initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['x-menu-item-icon']));
      $insertChild(this$static.el, e, 0);
    }
  }
  this$static.icon = icon;
}

function $setSubMenu(this$static, menu){
  this$static.subMenu = menu;
  menu.parentItem = this$static;
}

function $setText_3(this$static, text){
  this$static.text_0 = text;
  if (this$static.rendered) {
    $update(this$static.el, text == null || $equals_2('', text)?'&#160;':text);
    $setIcon_1(this$static, this$static.icon);
  }
}

function $setWidget(this$static, widget){
  var c;
  this$static.widget = widget;
  if (this$static.rendered) {
    if (instanceOf(widget, Q$Component)) {
      c = dynamicCast(widget, Q$Component);
      if (!c.rendered) {
        $render(c, $getElement(this$static), -1);
        $setIcon_1(this$static, this$static.icon);
        return;
      }
    }
    $appendChild_0($getElement(this$static), widget.getElement());
    $setIcon_1(this$static, this$static.icon);
  }
}

function MenuItem_0(text){
  $clinit_Component();
  Item_0.call(this);
  this.canActivate = true;
  this.text_0 = text;
}

function MenuItem_1(text, icon){
  $clinit_Component();
  MenuItem_0.call(this, text);
  $setIcon_1(this, icon);
}

defineSeed(212, 202, makeCastMap([Q$Observable, Q$Component, Q$Item, Q$MenuItem, Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsWidget, Q$UIObject, Q$Widget]), MenuItem_0, MenuItem_1);
_.activate = function activate_0(autoExpand){
  $activate(this);
  autoExpand && !!this.subMenu && $expandMenu(this);
}
;
_.afterRender_0 = function afterRender_5(){
  this.mask && $mask_0(this, this.maskMessage, this.maskMessageStyleName);
  this.text_0 != null && $setText_3(this, this.text_0);
}
;
_.deactivate = function deactivate_0(){
  $deactivate(this);
  !!this.subMenu && this.subMenu.showing && $hide_1(this.subMenu, false);
}
;
_.doAttachChildren = function doAttachChildren_4(){
  $doAttachChildren(this);
  !!this.widget && doAttach(this.widget);
}
;
_.doDetachChildren = function doDetachChildren_5(){
  $doDetachChildren(this);
  !!this.widget && doDetach(this.widget);
}
;
_.expandMenu = function expandMenu_0(autoActivate){
  if (!this.disabled && !!this.subMenu) {
    if (!this.subMenu.showing) {
      $expandMenu(this);
      $tryActivate(this.subMenu, 0, 1);
    }
  }
}
;
_.onDisable = function onDisable_6(){
  $onDisable(this);
  !!this.widget && instanceOf(this.widget, Q$Component) && dynamicCast(this.widget, Q$Component).disable();
}
;
_.onEnable = function onEnable_6(){
  $onEnable(this);
  !!this.widget && instanceOf(this.widget, Q$Component) && dynamicCast(this.widget, Q$Component).enable();
}
;
_.onRender = function onRender_18(target, index){
  var s;
  $setElement_1(this, $doc.createElement('a'), target, index);
  $clinit_GXT();
  ariaEnabled?($getElement(this).setAttribute('role', 'menuitem') , undefined):($getElement(this)['href'] = '#' , undefined);
  s = 'x-menu-item' + (this.subMenu?' x-menu-item-arrow':'');
  $addStyleName_1(this, s);
  this.widget?$setWidget(this, this.widget):$setText_3(this, this.text_0);
  !!this.subMenu && ($getElement(this).setAttribute('aria-haspopup', 'true') , undefined);
}
;
_.shouldDeactivate = function shouldDeactivate_0(ce){
  var l_0, rec, xy;
  if (!!this.subMenu && this.subMenu.showing) {
    xy = $getXY_0(ce);
    xy.x += getBodyScrollLeft();
    xy.y += getBodyScrollTop();
    rec = $getBounds(this.subMenu.el);
    if (instanceOf(this.subMenu.el, Q$Layer)) {
      l_0 = dynamicCast(this.subMenu.el, Q$Layer);
      if (l_0.shimEnabled && l_0.shadowEnabled) {
        return !$contains(rec, xy.x, xy.y) && !$contains_0($getBounds($getShadow(l_0)), xy) && !$contains_0($getBounds($getShim(l_0)), xy);
      }
       else if (l_0.shadowEnabled) {
        return !$contains(rec, xy.x, xy.y) && !$contains_0($getBounds($getShadow(l_0)), xy);
      }
       else if (l_0.shimEnabled) {
        return !$contains(rec, xy.x, xy.y) && !$contains_0($getBounds($getShim(l_0)), xy);
      }
    }
    return !$contains(rec, xy.x, xy.y);
  }
  return true;
}
;
_.icon = null;
_.subMenu = null;
_.text_0 = null;
_.widget = null;
function $doAutoWidth(this$static){
  var body, bw;
  if (this$static.width_0 == null) {
    body = this$static.body_0.dom_0;
    bw = $getTextWidth(fly_1(body, 'component'));
    this$static.head.text_0 != null && (bw = max_0(bw, $getTextWidth($child(this$static.head.el, 'span'))));
    bw += $getFrameWidth_0(this$static) + (this$static.closable?20:2) + $getPadding(fly_1(body, 'component'));
    $setSize_2(this$static, constrain(bw, this$static.minWidth, this$static.maxWidth), -1);
  }
}

function $onRender_4(this$static, parent_0, pos){
  if (this$static.closable) {
    this$static.headerVisible = true;
    $addTool(this$static.head, new ToolButton_1(new Tip$1_0(this$static)));
  }
  $onRender_0(this$static, parent_0, pos);
  $clinit_GXT();
  if (ariaEnabled) {
    $getElement(this$static).setAttribute('role', 'tooltip');
    $setLabelledBy((!this$static.ariaSupport && (this$static.ariaSupport = new AriaSupport_0(this$static)) , this$static.ariaSupport), '');
  }
}

function $setClosable(this$static, closable){
  this$static.closable = closable;
}

function $showAt(this$static, point){
  $showAt_0(this$static, point.x, point.y);
}

defineSeed(213, 155, makeCastMap([Q$Observable, Q$BoxComponent, Q$Component, Q$Container, Q$ContentPanel, Q$LayoutContainer, Q$ScrollContainer, Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsWidget, Q$UIObject, Q$Widget]));
_.hide = function hide_1(){
  $hide_0(this);
  this.attached && $remove_8(($clinit_RootPanel() , get_3()), this);
}
;
_.onDisable = function onDisable_7(){
  $mask_0(this, null, null);
  $addStyleName_1(this, this.disabledStyle);
  this.hide();
}
;
_.onRender = function onRender_19(parent_0, pos){
  $onRender_4(this, parent_0, pos);
}
;
_.closable = false;
_.constrainPosition = true;
_.maxWidth = 300;
_.minWidth = 40;
function $componentSelected_0(this$static){
  this$static.this$0.hide();
}

function Tip$1_0(this$0){
  this.this$0 = this$0;
}

defineSeed(214, 100, makeCastMap([Q$Listener]), Tip$1_0);
_.componentSelected = function componentSelected_0(ce){
  $componentSelected_0(this, dynamicCast(ce, Q$IconButtonEvent));
}
;
_.this$0 = null;
function $clearTimer(this$static, timer){
  if ($equals_2(timer, 'hide')) {
    if (this$static.hideTimer) {
      $cancel(this$static.hideTimer);
      this$static.hideTimer = null;
    }
  }
   else if ($equals_2(timer, 'dismiss')) {
    if (this$static.dismissTimer) {
      $cancel(this$static.dismissTimer);
      this$static.dismissTimer = null;
    }
  }
   else if ($equals_2(timer, 'show')) {
    if (this$static.showTimer) {
      $cancel(this$static.showTimer);
      this$static.showTimer = null;
    }
  }
}

function $clearTimers(this$static){
  $clearTimer(this$static, 'show');
  $clearTimer(this$static, 'dismiss');
  $clearTimer(this$static, 'hide');
}

function $delayHide(this$static){
  if (this$static.attached && !this$static.hideTimer && !this$static.toolTipConfig.closeable) {
    this$static.hideTimer = new ToolTip$3_0(this$static);
    $schedule(this$static.hideTimer, 200);
  }
}

function $delayShow(this$static){
  if (!this$static.attached && !this$static.showTimer) {
    if (lt(sub_0(fromDouble((new Date_1).jsdate.getTime()), fromDouble(this$static.lastActive.jsdate.getTime())), Pfa_longLit)) {
      $show_2(this$static);
    }
     else {
      this$static.showTimer = new ToolTip$4_0(this$static);
      $schedule(this$static.showTimer, 500);
    }
  }
   else 
    this$static.attached && $show_2(this$static);
}

function $getAnchorAlign(this$static){
  if ($equals_2(this$static.toolTipConfig.anchor, 'top')) {
    return 'tl-bl';
  }
   else if ($equals_2(this$static.toolTipConfig.anchor, 'left')) {
    return 'tl-tr';
  }
   else if ($equals_2(this$static.toolTipConfig.anchor, 'right')) {
    return 'tr-tl';
  }
  return 'bl-tl';
}

function $getOffsets(this$static){
  var ap, mouseOffset, offsets;
  ap = this$static.toolTipConfig.anchor.charCodeAt(0);
  if (this$static.toolTipConfig.trackMouse) {
    switch (ap) {
      case 116:
        offsets = initValues(_3I_classLit, makeCastMap([Q$Serializable]), -1, [-15, 30]);
        break;
      case 98:
        offsets = initValues(_3I_classLit, makeCastMap([Q$Serializable]), -1, [-19, -13 - (this$static.el.dom_0.offsetHeight || 0)]);
        break;
      case 114:
        offsets = initValues(_3I_classLit, makeCastMap([Q$Serializable]), -1, [-15 - (this$static.el.dom_0.offsetWidth || 0), -13]);
        break;
      default:offsets = initValues(_3I_classLit, makeCastMap([Q$Serializable]), -1, [25, -13]);
    }
  }
   else {
    switch (ap) {
      case 116:
        offsets = initValues(_3I_classLit, makeCastMap([Q$Serializable]), -1, [0, 9]);
        break;
      case 98:
        offsets = initValues(_3I_classLit, makeCastMap([Q$Serializable]), -1, [0, -13]);
        break;
      case 114:
        offsets = initValues(_3I_classLit, makeCastMap([Q$Serializable]), -1, [-13, 0]);
        break;
      default:offsets = initValues(_3I_classLit, makeCastMap([Q$Serializable]), -1, [9, 0]);
    }
  }
  mouseOffset = this$static.toolTipConfig.mouseOffset;
  if (mouseOffset != null) {
    offsets[0] += mouseOffset[0];
    offsets[1] += mouseOffset[1];
  }
  return offsets;
}

function $getTargetXY(this$static, targetCounter){
  var axy, dh, dw, mouseOffset, offsets, r, scrollX, scrollY, sz, x, xy, y;
  if (this$static.toolTipConfig.anchor != null) {
    ++targetCounter;
    offsets = $getOffsets(this$static);
    xy = this$static.toolTipConfig.trackMouse?this$static.targetXY:$getAlignToXY_0(this$static.el, this$static.target_0.el.dom_0, $getAnchorAlign(this$static), null);
    dw = ($clinit_XDOM() , getViewportWidth()) - 5;
    dh = getViewportHeight() - 5;
    scrollX = getBodyScrollLeft() + 5;
    scrollY = getBodyScrollTop() + 5;
    axy = initValues(_3I_classLit, makeCastMap([Q$Serializable]), -1, [xy.x + offsets[0], xy.y + offsets[1]]);
    sz = $getSize(this$static.el, false);
    r = $getRegion(this$static.target_0.el);
    $removeStyleName(this$static.anchorEl, this$static.anchorStyle);
    if (!($equals_2(this$static.toolTipConfig.anchor, 'top') && sz.height_0 + offsets[1] + scrollY < dh - r.bottom || $equals_2(this$static.toolTipConfig.anchor, 'right') && sz.width_0 + offsets[0] + scrollX < r.left_0 || $equals_2(this$static.toolTipConfig.anchor, 'bottom') && sz.height_0 + offsets[1] + scrollY < r.top_0 || $equals_2(this$static.toolTipConfig.anchor, 'left') && sz.width_0 + offsets[0] + scrollX < dw - r.right) && targetCounter < 4) {
      if (sz.width_0 + offsets[0] + scrollX < dw - r.right) {
        this$static.toolTipConfig.anchor = 'left';
        return $getTargetXY(this$static, targetCounter);
      }
      if (sz.width_0 + offsets[0] + scrollX < r.left_0) {
        this$static.toolTipConfig.anchor = 'right';
        return $getTargetXY(this$static, targetCounter);
      }
      if (sz.height_0 + offsets[1] + scrollY < dh - r.bottom) {
        this$static.toolTipConfig.anchor = 'top';
        return $getTargetXY(this$static, targetCounter);
      }
      if (sz.height_0 + offsets[1] + scrollY < r.top_0) {
        this$static.toolTipConfig.anchor = 'bottom';
        return $getTargetXY(this$static, targetCounter);
      }
    }
    this$static.anchorStyle = 'x-tip-anchor-' + this$static.toolTipConfig.anchor;
    $addStyleName(this$static.anchorEl, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, [this$static.anchorStyle]));
    return new Point_0(axy[0], axy[1]);
  }
   else {
    x = this$static.targetXY.x;
    y = this$static.targetXY.y;
    mouseOffset = this$static.toolTipConfig.mouseOffset;
    if (mouseOffset != null) {
      x += mouseOffset[0];
      y += mouseOffset[1];
    }
    return new Point_0(x, y);
  }
}

function $hide_2(this$static){
  $clearTimers(this$static);
  this$static.lastActive = new Date_1;
  $hide_0(this$static);
  this$static.attached && $remove_8(($clinit_RootPanel() , get_3()), this$static);
}

function $initTarget_0(this$static, target){
  if (this$static.target_0) {
    $removeListener_0(this$static.target_0, ($clinit_Events() , OnMouseOver), this$static.listener);
    $removeListener_0(this$static.target_0, OnMouseOut, this$static.listener);
    $removeListener_0(this$static.target_0, OnMouseMove, this$static.listener);
    $removeListener_0(this$static.target_0, Hide, this$static.listener);
    $removeListener_0(this$static.target_0, Detach, this$static.listener);
    $removeListener_0(this$static.target_0, Render, this$static.listener);
    $clinit_GXT();
    if (focusManagerEnabled) {
      $removeListener_0(this$static.target_0, OnFocus, this$static.listener);
      $removeListener_0(this$static.target_0, OnBlur, this$static.listener);
      $removeListener_0(this$static.target_0, OnKeyDown, this$static.listener);
    }
  }
  this$static.target_0 = target;
  !this$static.listener && (this$static.listener = new ToolTip$1_0(this$static, target));
  if (target) {
    $addListener_0(target, ($clinit_Events() , OnMouseOver), this$static.listener);
    $addListener_0(target, Render, this$static.listener);
    $addListener_0(target, OnMouseOut, this$static.listener);
    $addListener_0(target, OnMouseMove, this$static.listener);
    $addListener_0(target, Hide, this$static.listener);
    $addListener_0(target, Detach, this$static.listener);
    $clinit_GXT();
    if (focusManagerEnabled) {
      $addListener_0(this$static.target_0, OnFocus, this$static.listener);
      $addListener_0(this$static.target_0, OnBlur, this$static.listener);
      $addListener_0(this$static.target_0, OnKeyDown, this$static.listener);
    }
    target.rendered?target.eventsToSink == -1?($sinkEvents_1(target.getElement(), 112 | (target.getElement().__eventBits || 0)) , undefined):(target.eventsToSink |= 112):(target.events |= 112);
  }
}

function $onMouseMove_0(this$static, ce){
  var origAnchor, p;
  this$static.targetXY = $getXY_0(ce);
  if (this$static.rendered && this$static.attached && this$static.toolTipConfig.trackMouse) {
    origAnchor = this$static.toolTipConfig.anchor;
    p = $getTargetXY(this$static, 0);
    $setAnchor(this$static.toolTipConfig, origAnchor);
    this$static.constrainPosition && (p = $adjustForConstraints(this$static.el, p));
    $setPagePosition(this$static, p.x, p.y);
  }
}

function $onTargetOut(this$static){
  if (this$static.disabled) {
    return;
  }
  $clearTimer(this$static, 'show');
  $delayHide(this$static);
}

function $onTargetOver(this$static, ce){
  if (this$static.disabled || !$within(ce, this$static.target_0.getElement())) {
    return;
  }
  $clearTimer(this$static, 'hide');
  this$static.targetXY = $getXY_0(ce);
  $delayShow(this$static);
}

function $show_2(this$static){
  var origAnchor, origConstrainPosition;
  if (this$static.disabled)
    return;
  origAnchor = null;
  origConstrainPosition = false;
  if (this$static.toolTipConfig.anchor != null) {
    origAnchor = this$static.toolTipConfig.anchor;
    $showAt_0(this$static, -1000, -1000);
    origConstrainPosition = this$static.constrainPosition;
    this$static.constrainPosition = false;
  }
  $showAt(this$static, $getTargetXY(this$static, 0));
  if (this$static.toolTipConfig.anchor != null) {
    this$static.anchorEl.setVisible(true);
    $syncAnchor(this$static);
    this$static.constrainPosition = origConstrainPosition;
    $setAnchor(this$static.toolTipConfig, origAnchor);
  }
   else {
    this$static.anchorEl.setVisible(false);
  }
}

function $showAt_0(this$static, x, y){
  var p;
  if (this$static.disabled)
    return;
  this$static.lastActive = new Date_1;
  $clearTimers(this$static);
  this$static.rendered?$setStyleAttribute(this$static.el, 'visibility', 'hidden'):(this$static.styles += 'visibility:hidden;');
  this$static.attached || $add_11(($clinit_RootPanel() , get_3()), this$static);
  $show_0(this$static);
  $updateContent(this$static);
  $doAutoWidth(this$static);
  p = new Point_0(x, y);
  this$static.constrainPosition && (p = $adjustForConstraints(this$static.el, p));
  $setPagePosition(this$static, p.x + getBodyScrollLeft(), p.y + getBodyScrollTop());
  this$static.rendered?$setStyleAttribute(this$static.el, 'visibility', 'visible'):(this$static.styles += 'visibility:visible;');
  !!this$static.layer && $sync_0(this$static.layer);
  if (this$static.toolTipConfig.anchor != null) {
    this$static.anchorEl.setVisible(true);
    $syncAnchor(this$static);
  }
   else {
    this$static.anchorEl.setVisible(false);
  }
  if (!this$static.toolTipConfig.closeable) {
    this$static.dismissTimer = new ToolTip$2_0(this$static);
    $schedule(this$static.dismissTimer, 5000);
  }
}

function $syncAnchor(this$static){
  var anchorPos, offset, targetPos;
  switch (this$static.toolTipConfig.anchor.charCodeAt(0)) {
    case 116:
      anchorPos = 'b';
      targetPos = 'tl';
      offset = initValues(_3I_classLit, makeCastMap([Q$Serializable]), -1, [20, 2]);
      break;
    case 114:
      anchorPos = 'l';
      targetPos = 'tr';
      offset = initValues(_3I_classLit, makeCastMap([Q$Serializable]), -1, [-2, 11]);
      break;
    case 98:
      anchorPos = 't';
      targetPos = 'bl';
      offset = initValues(_3I_classLit, makeCastMap([Q$Serializable]), -1, [20, -2]);
      break;
    default:anchorPos = 'r';
      targetPos = 'tl';
      offset = initValues(_3I_classLit, makeCastMap([Q$Serializable]), -1, [2, 11]);
  }
  $alignTo(this$static.anchorEl, this$static.el.dom_0, anchorPos + '-' + targetPos, offset);
}

function $update_1(this$static, config){
  $updateConfig(this$static, config);
  if (this$static.rendered && this$static.attached) {
    $updateContent(this$static);
    $doAutoWidth(this$static);
  }
}

function $updateConfig(this$static, config){
  this$static.toolTipConfig = config;
  this$static.minWidth = 40;
  this$static.maxWidth = 300;
  $setClosable(this$static, config.closeable);
  this$static.text_0 = config.text_0;
  this$static.title_0 = config.title_0;
}

function $updateContent(this$static){
  var p;
  $setText(this$static.head, this$static.title_0);
  $selectNode(this$static.head.el, '#' + $getId_0(this$static.head) + '-label').setVisible(false);
  if (this$static.toolTipConfig.template != null) {
    p = this$static.toolTipConfig.params;
    !p && (p = new Params_0);
    $set_7(p, 'text', this$static.text_0);
    $set_7(p, 'title', this$static.title_0);
    null.nullMethod();
  }
   else {
    $update(this$static.body_0, isEmptyString(this$static.text_0)?'&#160;':this$static.text_0);
  }
}

function ToolTip_0(target, config){
  $clinit_Component();
  LayoutContainer_0.call(this);
  this.buttonAlign = ($clinit_Style$HorizontalAlignment() , RIGHT_0);
  this.baseStyle = 'x-panel';
  this.fbar = new ButtonBar_0;
  this.fbar.parent_0 = this;
  $setMinButtonWidth(this.fbar);
  $setAlignment(this.fbar, this.buttonAlign);
  this.head = new Header_0;
  this.head.parent_0 = this;
  this.disabledStyle = null;
  this.deferHeight = true;
  (!this.focusManagerSupport && (this.focusManagerSupport = new FocusManagerSupport_0) , this.focusManagerSupport).ignore = false;
  this.frame = true;
  this.baseStyle = 'x-tip';
  this.shim = true;
  this.autoHeight = true;
  this.shadow = true;
  this.targetXY = new Point_0(0, 0);
  this.toolTipConfig = new ToolTipConfig_0;
  this.lastActive = new Date_1;
  this.monitorWindowResize = true;
  $updateConfig(this, config);
  $initTarget_0(this, target);
}

defineSeed(215, 213, makeCastMap([Q$Observable, Q$BoxComponent, Q$Component, Q$Container, Q$ContentPanel, Q$LayoutContainer, Q$ScrollContainer, Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsWidget, Q$UIObject, Q$Widget]), ToolTip_0);
_.afterRender_0 = function afterRender_6(){
  $afterRender_0(this);
  $setStyleAttribute(this.anchorEl, 'zIndex', valueOf(parseInt_0(dynamicCast($getStyleAttribute_0(this.el, new Arrays$ArrayList_0(initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['zIndex']))).map['zIndex'], Q$String), 0) + 1));
}
;
_.hide = function hide_2(){
  $hide_2(this);
}
;
_.onRender = function onRender_20(target, index){
  $onRender_4(this, target, index);
  this.anchorEl = new El_0($doc.createElement('div'));
  $addStyleName(this.anchorEl, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['x-tip-anchor']));
  $appendChild(this.el, this.anchorEl.dom_0);
  $addStyleName(this.el, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['x-ignore']));
}
;
_.onWindowResize = function onWindowResize_1(width, height){
  $show_2(this);
}
;
_.show = function show_1(){
  $show_2(this);
}
;
_.anchorEl = null;
_.anchorStyle = null;
_.dismissTimer = null;
_.hideTimer = null;
_.lastActive = null;
_.listener = null;
_.showTimer = null;
_.target_0 = null;
_.text_0 = null;
_.title_0 = null;
_.toolTipConfig = null;
function $handleEvent_12(this$static, be){
  var from, source, to, type;
  source = this$static.val$target.getElement();
  type = be.type_0;
  if (type == ($clinit_Events() , OnMouseOver)) {
    from = be.event_0.relatedTarget;
    (!from || !!source && source.nodeType == 1 && is_2(from) && !source.contains(from)) && $onTargetOver(this$static.this$0, be);
  }
   else if (type == OnMouseOut) {
    to = be.event_0.relatedTarget;
    (!to || !!source && source.nodeType == 1 && is_2(to) && !source.contains(to)) && $onTargetOut(this$static.this$0);
  }
   else if (type == OnMouseMove) {
    $onMouseMove_0(this$static.this$0, be);
  }
   else if (type == Hide || type == Detach) {
    $hide_2(this$static.this$0);
  }
   else if (type == OnFocus) {
    $clinit_GXT();
    if (focusManagerEnabled) {
      this$static.this$0.targetXY = $getXY_0(be);
      this$static.this$0.targetXY.y += $getPropertyInt(this$static.val$target.getElement(), 'offsetHeight');
      this$static.this$0.targetXY.x += $getPropertyInt(this$static.val$target.getElement(), 'offsetWidth');
      $show_2(this$static.this$0);
    }
  }
   else if (type == OnBlur) {
    $clinit_GXT();
    focusManagerEnabled && !this$static.this$0.closable && $hide_2(this$static.this$0);
  }
   else if (type == OnKeyDown) {
    $clinit_GXT();
    if (focusManagerEnabled && (!be.event_0?-1:be.event_0.keyCode || 0) == 27) {
      $getFocusSupport(this$static.val$target).ignore = true;
      $hide_2(this$static.this$0);
    }
  }
}

function ToolTip$1_0(this$0, val$target){
  this.this$0 = this$0;
  this.val$target = val$target;
}

defineSeed(216, 1, makeCastMap([Q$Listener]), ToolTip$1_0);
_.handleEvent = function handleEvent_14(be){
  $handleEvent_12(this, dynamicCast(be, Q$ComponentEvent));
}
;
_.this$0 = null;
_.val$target = null;
function ToolTip$2_0(this$0){
  $clinit_Timer();
  this.this$0 = this$0;
}

defineSeed(217, 45, makeCastMap([Q$Timer]), ToolTip$2_0);
_.run = function run_2(){
  $hide_2(this.this$0);
}
;
_.this$0 = null;
function ToolTip$3_0(this$0){
  $clinit_Timer();
  this.this$0 = this$0;
}

defineSeed(218, 45, makeCastMap([Q$Timer]), ToolTip$3_0);
--></script>
<script><!--
_.run = function run_3(){
  $hide_2(this.this$0);
}
;
_.this$0 = null;
function ToolTip$4_0(this$0){
  $clinit_Timer();
  this.this$0 = this$0;
}

defineSeed(219, 45, makeCastMap([Q$Timer]), ToolTip$4_0);
_.run = function run_4(){
  $show_2(this.this$0);
}
;
_.this$0 = null;
function $setAnchor(this$static, anchor){
  this$static.anchor = anchor;
}

function $setText_4(this$static, text){
  this$static.text_0 = text;
}

function ToolTipConfig_0(){
  this.mouseOffset = initValues(_3I_classLit, makeCastMap([Q$Serializable]), -1, [15, 18]);
}

defineSeed(220, 1, {}, ToolTipConfig_0);
_.anchor = null;
_.closeable = false;
_.params = null;
_.template = null;
_.text_0 = null;
_.title_0 = null;
_.trackMouse = false;
function FillToolItem_0(){
  Component_0.call(this);
  $setPresentation((!this.ariaSupport && (this.ariaSupport = new AriaSupport_0(this)) , this.ariaSupport));
}

defineSeed(221, 144, makeCastMap([Q$Observable, Q$Component, Q$FillToolItem, Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsWidget, Q$UIObject, Q$Widget]), FillToolItem_0);
_.onRender = function onRender_21(target, index){
  $setElement_1(this, $doc.createElement('div'), target, index);
}
;
function $execute(this$static, timestamp){
  $update_0(this$static.this$0, timestamp)?(this$static.this$0.requestHandle = $requestAnimationFrame(this$static.this$0.scheduler, this$static.this$0.callback)):(this$static.this$0.requestHandle = null);
}

function Animation$1_0(this$0){
  this.this$0 = this$0;
}

defineSeed(222, 1, {}, Animation$1_0);
_.this$0 = null;
defineSeed(223, 1, {});
defineSeed(224, 1, makeCastMap([Q$AnimationScheduler$AnimationHandle]));
function $clinit_AnimationSchedulerImpl(){
  $clinit_AnimationSchedulerImpl = nullMethod;
  var impl;
  impl = new AnimationSchedulerImplTimer_0;
  INSTANCE = impl;
}

defineSeed(225, 223, {});
var INSTANCE = null;
function $cancelAnimationFrame(this$static, requestId){
  $remove_15(this$static.animationRequests, requestId);
  this$static.animationRequests.size_0 == 0 && $cancel(this$static.timer);
}

function $requestAnimationFrame(this$static, callback){
  var requestId;
  requestId = new AnimationSchedulerImplTimer$AnimationHandleImpl_0(this$static, callback);
  $add_17(this$static.animationRequests, requestId);
  this$static.animationRequests.size_0 == 1 && $schedule(this$static.timer, 16);
  return requestId;
}

function $updateAnimations(this$static){
  var curAnimations, duration, requestId, requestId$index, requestId$max;
  curAnimations = initDim(_3Lcom_google_gwt_animation_client_AnimationSchedulerImplTimer$AnimationHandleImpl_2_classLit, makeCastMap([Q$AnimationSchedulerImplTimer$AnimationHandleImpl_$1, Q$Serializable, Q$Object_$1]), Q$AnimationSchedulerImplTimer$AnimationHandleImpl, this$static.animationRequests.size_0, 0);
  curAnimations = dynamicCast($toArray_0(this$static.animationRequests, curAnimations), Q$AnimationSchedulerImplTimer$AnimationHandleImpl_$1);
  duration = new Duration_0;
  for (requestId$index = 0 , requestId$max = curAnimations.length; requestId$index < requestId$max; ++requestId$index) {
    requestId = curAnimations[requestId$index];
    $remove_15(this$static.animationRequests, requestId);
    $execute(requestId.callback, duration.start);
  }
  this$static.animationRequests.size_0 > 0 && $schedule(this$static.timer, max_0(5, 16 - (currentTimeMillis() - duration.start)));
}

function AnimationSchedulerImplTimer_0(){
  this.animationRequests = new ArrayList_0;
  this.timer = new AnimationSchedulerImplTimer$1_0(this);
}

defineSeed(226, 225, {}, AnimationSchedulerImplTimer_0);
function AnimationSchedulerImplTimer$1_0(this$0){
  $clinit_Timer();
  this.this$0 = this$0;
}

defineSeed(227, 45, makeCastMap([Q$Timer]), AnimationSchedulerImplTimer$1_0);
_.run = function run_5(){
  $updateAnimations(this.this$0);
}
;
_.this$0 = null;
function $cancel_1(this$static){
  $cancelAnimationFrame(this$static.this$0, this$static);
}

function AnimationSchedulerImplTimer$AnimationHandleImpl_0(this$0, callback){
  this.this$0 = this$0;
  this.callback = callback;
}

defineSeed(228, 224, makeCastMap([Q$AnimationScheduler$AnimationHandle, Q$AnimationSchedulerImplTimer$AnimationHandleImpl]), AnimationSchedulerImplTimer$AnimationHandleImpl_0);
_.callback = null;
_.this$0 = null;
function $set_8(this$static, element){
  $setAttribute(element, 'role', this$static.roleName);
}

defineSeed(230, 1, {});
_.roleName = null;
function AlertRoleImpl_0(){
  this.roleName = 'alert';
}

defineSeed(229, 230, {}, AlertRoleImpl_0);
function AlertdialogRoleImpl_0(){
  this.roleName = 'alertdialog';
}

defineSeed(231, 230, {}, AlertdialogRoleImpl_0);
function ApplicationRoleImpl_0(){
  this.roleName = 'application';
}

defineSeed(232, 230, {}, ApplicationRoleImpl_0);
function $getAriaValue(value){
  var buf, item, item$index, item$max;
  buf = new StringBuffer_0;
  for (item$index = 0 , item$max = value.length; item$index < item$max; ++item$index) {
    item = value[item$index];
    $append_4($append_4(buf, $getAriaValue_0(item)), ' ');
  }
  return $trim(buf.impl.string);
}

function $remove_4(this$static, element){
  $removeAttribute(element, this$static.name_0);
}

function $set_9(this$static, element, values){
  $setAttribute(element, this$static.name_0, $getAriaValue(values));
}

defineSeed(234, 1, {});
_.name_0 = null;
function AriaValueAttribute_0(name_0){
  this.name_0 = name_0;
}

defineSeed(233, 234, {}, AriaValueAttribute_0);
function ArticleRoleImpl_0(){
  this.roleName = 'article';
}

defineSeed(235, 230, {}, ArticleRoleImpl_0);
function BannerRoleImpl_0(){
  this.roleName = 'banner';
}

defineSeed(236, 230, {}, BannerRoleImpl_0);
function $removeAriaPressedState(element){
  $remove_4(($clinit_State() , PRESSED), element);
}

function $setAriaPressedState(element, value){
  $set_9(($clinit_State() , PRESSED), element, initValues(_3Lcom_google_gwt_aria_client_PressedValue_2_classLit, makeCastMap([Q$Serializable]), -1, [value]));
}

function ButtonRoleImpl_0(){
  this.roleName = 'button';
}

defineSeed(237, 230, {}, ButtonRoleImpl_0);
function CheckboxRoleImpl_0(){
  this.roleName = 'checkbox';
}

defineSeed(238, 230, {}, CheckboxRoleImpl_0);
function ColumnheaderRoleImpl_0(){
  this.roleName = 'columnheader';
}

defineSeed(239, 230, {}, ColumnheaderRoleImpl_0);
function ComboboxRoleImpl_0(){
  this.roleName = 'combobox';
}

defineSeed(240, 230, {}, ComboboxRoleImpl_0);
function ComplementaryRoleImpl_0(){
  this.roleName = 'complementary';
}

defineSeed(241, 230, {}, ComplementaryRoleImpl_0);
function ContentinfoRoleImpl_0(){
  this.roleName = 'contentinfo';
}

defineSeed(242, 230, {}, ContentinfoRoleImpl_0);
function DefinitionRoleImpl_0(){
  this.roleName = 'definition';
}

defineSeed(243, 230, {}, DefinitionRoleImpl_0);
function DialogRoleImpl_0(){
  this.roleName = 'dialog';
}

defineSeed(244, 230, {}, DialogRoleImpl_0);
function DirectoryRoleImpl_0(){
  this.roleName = 'directory';
}

defineSeed(245, 230, {}, DirectoryRoleImpl_0);
function DocumentRoleImpl_0(){
  this.roleName = 'document';
}

defineSeed(246, 230, {}, DocumentRoleImpl_0);
function FormRoleImpl_0(){
  this.roleName = 'form';
}

defineSeed(247, 230, {}, FormRoleImpl_0);
function GridRoleImpl_0(){
  this.roleName = 'grid';
}

defineSeed(248, 230, {}, GridRoleImpl_0);
function GridcellRoleImpl_0(){
  this.roleName = 'gridcell';
}

defineSeed(249, 230, {}, GridcellRoleImpl_0);
function GroupRoleImpl_0(){
  this.roleName = 'group';
}

defineSeed(250, 230, {}, GroupRoleImpl_0);
function HeadingRoleImpl_0(){
  this.roleName = 'heading';
}

defineSeed(251, 230, {}, HeadingRoleImpl_0);
function ImgRoleImpl_0(){
  this.roleName = 'img';
}

defineSeed(252, 230, {}, ImgRoleImpl_0);
function LinkRoleImpl_0(){
  this.roleName = 'link';
}

defineSeed(253, 230, {}, LinkRoleImpl_0);
function ListRoleImpl_0(){
  this.roleName = 'list';
}

defineSeed(254, 230, {}, ListRoleImpl_0);
function ListboxRoleImpl_0(){
  this.roleName = 'listbox';
}

defineSeed(255, 230, {}, ListboxRoleImpl_0);
function ListitemRoleImpl_0(){
  this.roleName = 'listitem';
}

defineSeed(256, 230, {}, ListitemRoleImpl_0);
function LogRoleImpl_0(){
  this.roleName = 'log';
}

defineSeed(257, 230, {}, LogRoleImpl_0);
function MainRoleImpl_0(){
  this.roleName = 'main';
}

defineSeed(258, 230, {}, MainRoleImpl_0);
function MarqueeRoleImpl_0(){
  this.roleName = 'marquee';
}

defineSeed(259, 230, {}, MarqueeRoleImpl_0);
function MathRoleImpl_0(){
  this.roleName = 'math';
}

defineSeed(260, 230, {}, MathRoleImpl_0);
function MenuRoleImpl_0(){
  this.roleName = 'menu';
}

defineSeed(261, 230, {}, MenuRoleImpl_0);
function MenubarRoleImpl_0(){
  this.roleName = 'menubar';
}

defineSeed(262, 230, {}, MenubarRoleImpl_0);
function MenuitemRoleImpl_0(){
  this.roleName = 'menuitem';
}

defineSeed(263, 230, {}, MenuitemRoleImpl_0);
function MenuitemcheckboxRoleImpl_0(){
  this.roleName = 'menuitemcheckbox';
}

defineSeed(264, 230, {}, MenuitemcheckboxRoleImpl_0);
function MenuitemradioRoleImpl_0(){
  this.roleName = 'menuitemradio';
}

defineSeed(265, 230, {}, MenuitemradioRoleImpl_0);
function NavigationRoleImpl_0(){
  this.roleName = 'navigation';
}

defineSeed(266, 230, {}, NavigationRoleImpl_0);
function NoteRoleImpl_0(){
  this.roleName = 'note';
}

defineSeed(267, 230, {}, NoteRoleImpl_0);
function OptionRoleImpl_0(){
  this.roleName = 'option';
}

defineSeed(268, 230, {}, OptionRoleImpl_0);
function PresentationRoleImpl_0(){
  this.roleName = 'presentation';
}

defineSeed(269, 230, {}, PresentationRoleImpl_0);
function $getAriaValue_0(this$static){
  switch (this$static) {
    case 0:
      return 'true';
    case 1:
      return 'false';
    case 2:
      return 'mixed';
    case 3:
      return 'undefined';
  }
  return null;
}

function PrimitiveValueAttribute_0(name_0){
  this.name_0 = name_0;
}

defineSeed(271, 234, {}, PrimitiveValueAttribute_0);
function ProgressbarRoleImpl_0(){
  this.roleName = 'progressbar';
}

defineSeed(272, 230, {}, ProgressbarRoleImpl_0);
function RadioRoleImpl_0(){
  this.roleName = 'radio';
}

defineSeed(273, 230, {}, RadioRoleImpl_0);
function RadiogroupRoleImpl_0(){
  this.roleName = 'radiogroup';
}

defineSeed(274, 230, {}, RadiogroupRoleImpl_0);
function RegionRoleImpl_0(){
  this.roleName = 'region';
}

defineSeed(275, 230, {}, RegionRoleImpl_0);
function $clinit_Roles(){
  $clinit_Roles = nullMethod;
  ALERTDIALOG = new AlertdialogRoleImpl_0;
  ALERT = new AlertRoleImpl_0;
  APPLICATION = new ApplicationRoleImpl_0;
  ARTICLE = new ArticleRoleImpl_0;
  BANNER = new BannerRoleImpl_0;
  BUTTON = new ButtonRoleImpl_0;
  CHECKBOX = new CheckboxRoleImpl_0;
  COLUMNHEADER = new ColumnheaderRoleImpl_0;
  COMBOBOX = new ComboboxRoleImpl_0;
  COMPLEMENTARY = new ComplementaryRoleImpl_0;
  CONTENTINFO = new ContentinfoRoleImpl_0;
  DEFINITION = new DefinitionRoleImpl_0;
  DIALOG = new DialogRoleImpl_0;
  DIRECTORY = new DirectoryRoleImpl_0;
  DOCUMENT = new DocumentRoleImpl_0;
  FORM = new FormRoleImpl_0;
  GRIDCELL = new GridcellRoleImpl_0;
  GRID = new GridRoleImpl_0;
  GROUP = new GroupRoleImpl_0;
  HEADING = new HeadingRoleImpl_0;
  IMG = new ImgRoleImpl_0;
  LINK = new LinkRoleImpl_0;
  LISTBOX = new ListboxRoleImpl_0;
  LISTITEM = new ListitemRoleImpl_0;
  LIST = new ListRoleImpl_0;
  LOG = new LogRoleImpl_0;
  MAIN = new MainRoleImpl_0;
  MARQUEE = new MarqueeRoleImpl_0;
  MATH = new MathRoleImpl_0;
  MENUBAR = new MenubarRoleImpl_0;
  MENUITEMCHECKBOX = new MenuitemcheckboxRoleImpl_0;
  MENUITEMRADIO = new MenuitemradioRoleImpl_0;
  MENUITEM = new MenuitemRoleImpl_0;
  MENU = new MenuRoleImpl_0;
  NAVIGATION = new NavigationRoleImpl_0;
  NOTE = new NoteRoleImpl_0;
  OPTION = new OptionRoleImpl_0;
  PRESENTATION = new PresentationRoleImpl_0;
  PROGRESSBAR = new ProgressbarRoleImpl_0;
  RADIOGROUP = new RadiogroupRoleImpl_0;
  RADIO = new RadioRoleImpl_0;
  REGION = new RegionRoleImpl_0;
  ROWGROUP = new RowgroupRoleImpl_0;
  ROWHEADER = new RowheaderRoleImpl_0;
  ROW = new RowRoleImpl_0;
  SCROLLBAR = new ScrollbarRoleImpl_0;
  SEARCH = new SearchRoleImpl_0;
  SEPARATOR = new SeparatorRoleImpl_0;
  SLIDER = new SliderRoleImpl_0;
  SPINBUTTON = new SpinbuttonRoleImpl_0;
  STATUS = new StatusRoleImpl_0;
  TABLIST = new TablistRoleImpl_0;
  TABPANEL = new TabpanelRoleImpl_0;
  TAB = new TabRoleImpl_0;
  TEXTBOX = new TextboxRoleImpl_0;
  TIMER = new TimerRoleImpl_0;
  TOOLBAR = new ToolbarRoleImpl_0;
  TOOLTIP = new TooltipRoleImpl_0;
  TREEGRID = new TreegridRoleImpl_0;
  TREEITEM = new TreeitemRoleImpl_0;
  TREE = new TreeRoleImpl_0;
  ROLES_MAP = new HashMap_0;
  $put_5(ROLES_MAP, 'region', REGION);
  $put_5(ROLES_MAP, 'alert', ALERT);
  $put_5(ROLES_MAP, 'dialog', DIALOG);
  $put_5(ROLES_MAP, 'alertdialog', ALERTDIALOG);
  $put_5(ROLES_MAP, 'application', APPLICATION);
  $put_5(ROLES_MAP, 'document', DOCUMENT);
  $put_5(ROLES_MAP, 'article', ARTICLE);
  $put_5(ROLES_MAP, 'banner', BANNER);
  $put_5(ROLES_MAP, 'button', BUTTON);
  $put_5(ROLES_MAP, 'checkbox', CHECKBOX);
  $put_5(ROLES_MAP, 'gridcell', GRIDCELL);
  $put_5(ROLES_MAP, 'columnheader', COLUMNHEADER);
  $put_5(ROLES_MAP, 'group', GROUP);
  $put_5(ROLES_MAP, 'combobox', COMBOBOX);
  $put_5(ROLES_MAP, 'complementary', COMPLEMENTARY);
  $put_5(ROLES_MAP, 'contentinfo', CONTENTINFO);
  $put_5(ROLES_MAP, 'definition', DEFINITION);
  $put_5(ROLES_MAP, 'list', LIST);
  $put_5(ROLES_MAP, 'directory', DIRECTORY);
  $put_5(ROLES_MAP, 'form', FORM);
  $put_5(ROLES_MAP, 'grid', GRID);
  $put_5(ROLES_MAP, 'heading', HEADING);
  $put_5(ROLES_MAP, 'img', IMG);
  $put_5(ROLES_MAP, 'link', LINK);
  $put_5(ROLES_MAP, 'listbox', LISTBOX);
  $put_5(ROLES_MAP, 'listitem', LISTITEM);
  $put_5(ROLES_MAP, 'log', LOG);
  $put_5(ROLES_MAP, 'main', MAIN);
  $put_5(ROLES_MAP, 'marquee', MARQUEE);
  $put_5(ROLES_MAP, 'math', MATH);
  $put_5(ROLES_MAP, 'menu', MENU);
  $put_5(ROLES_MAP, 'menubar', MENUBAR);
  $put_5(ROLES_MAP, 'menuitem', MENUITEM);
  $put_5(ROLES_MAP, 'menuitemcheckbox', MENUITEMCHECKBOX);
  $put_5(ROLES_MAP, 'option', OPTION);
  $put_5(ROLES_MAP, 'radio', RADIO);
  $put_5(ROLES_MAP, 'menuitemradio', MENUITEMRADIO);
  $put_5(ROLES_MAP, 'navigation', NAVIGATION);
  $put_5(ROLES_MAP, 'note', NOTE);
  $put_5(ROLES_MAP, 'presentation', PRESENTATION);
  $put_5(ROLES_MAP, 'progressbar', PROGRESSBAR);
  $put_5(ROLES_MAP, 'radiogroup', RADIOGROUP);
  $put_5(ROLES_MAP, 'row', ROW);
  $put_5(ROLES_MAP, 'rowgroup', ROWGROUP);
  $put_5(ROLES_MAP, 'rowheader', ROWHEADER);
  $put_5(ROLES_MAP, 'search', SEARCH);
  $put_5(ROLES_MAP, 'separator', SEPARATOR);
  $put_5(ROLES_MAP, 'scrollbar', SCROLLBAR);
  $put_5(ROLES_MAP, 'slider', SLIDER);
  $put_5(ROLES_MAP, 'spinbutton', SPINBUTTON);
  $put_5(ROLES_MAP, 'status', STATUS);
  $put_5(ROLES_MAP, 'tab', TAB);
  $put_5(ROLES_MAP, 'tablist', TABLIST);
  $put_5(ROLES_MAP, 'tabpanel', TABPANEL);
  $put_5(ROLES_MAP, 'textbox', TEXTBOX);
  $put_5(ROLES_MAP, 'timer', TIMER);
  $put_5(ROLES_MAP, 'toolbar', TOOLBAR);
  $put_5(ROLES_MAP, 'tooltip', TOOLTIP);
  $put_5(ROLES_MAP, 'tree', TREE);
  $put_5(ROLES_MAP, 'treegrid', TREEGRID);
  $put_5(ROLES_MAP, 'treeitem', TREEITEM);
}

var ALERT, ALERTDIALOG, APPLICATION, ARTICLE, BANNER, BUTTON, CHECKBOX, COLUMNHEADER, COMBOBOX, COMPLEMENTARY, CONTENTINFO, DEFINITION, DIALOG, DIRECTORY, DOCUMENT, FORM, GRID, GRIDCELL, GROUP, HEADING, IMG, LINK, LIST, LISTBOX, LISTITEM, LOG, MAIN, MARQUEE, MATH, MENU, MENUBAR, MENUITEM, MENUITEMCHECKBOX, MENUITEMRADIO, NAVIGATION, NOTE, OPTION, PRESENTATION, PROGRESSBAR, RADIO, RADIOGROUP, REGION, ROLES_MAP, ROW, ROWGROUP, ROWHEADER, SCROLLBAR, SEARCH, SEPARATOR, SLIDER, SPINBUTTON, STATUS, TAB, TABLIST, TABPANEL, TEXTBOX, TIMER, TOOLBAR, TOOLTIP, TREE, TREEGRID, TREEITEM;
function RowRoleImpl_0(){
  this.roleName = 'row';
}

defineSeed(277, 230, {}, RowRoleImpl_0);
function RowgroupRoleImpl_0(){
  this.roleName = 'rowgroup';
}

defineSeed(278, 230, {}, RowgroupRoleImpl_0);
function RowheaderRoleImpl_0(){
  this.roleName = 'rowheader';
}

defineSeed(279, 230, {}, RowheaderRoleImpl_0);
function ScrollbarRoleImpl_0(){
  this.roleName = 'scrollbar';
}

defineSeed(280, 230, {}, ScrollbarRoleImpl_0);
function SearchRoleImpl_0(){
  this.roleName = 'search';
}

defineSeed(281, 230, {}, SearchRoleImpl_0);
function SeparatorRoleImpl_0(){
  this.roleName = 'separator';
}

defineSeed(282, 230, {}, SeparatorRoleImpl_0);
function SliderRoleImpl_0(){
  this.roleName = 'slider';
}

defineSeed(283, 230, {}, SliderRoleImpl_0);
function SpinbuttonRoleImpl_0(){
  this.roleName = 'spinbutton';
}

defineSeed(284, 230, {}, SpinbuttonRoleImpl_0);
function $clinit_State(){
  $clinit_State = nullMethod;
  new PrimitiveValueAttribute_0('aria-busy');
  new AriaValueAttribute_0('aria-checked');
  new PrimitiveValueAttribute_0('aria-disabled');
  new AriaValueAttribute_0('aria-expanded');
  new AriaValueAttribute_0('aria-grabbed');
  new PrimitiveValueAttribute_0('aria-hidden');
  new AriaValueAttribute_0('aria-invalid');
  PRESSED = new AriaValueAttribute_0('aria-pressed');
  new AriaValueAttribute_0('aria-selected');
}

var PRESSED;
function StatusRoleImpl_0(){
  this.roleName = 'status';
}

defineSeed(286, 230, {}, StatusRoleImpl_0);
function TabRoleImpl_0(){
  this.roleName = 'tab';
}

defineSeed(287, 230, {}, TabRoleImpl_0);
function TablistRoleImpl_0(){
  this.roleName = 'tablist';
}

defineSeed(288, 230, {}, TablistRoleImpl_0);
function TabpanelRoleImpl_0(){
  this.roleName = 'tabpanel';
}

defineSeed(289, 230, {}, TabpanelRoleImpl_0);
function TextboxRoleImpl_0(){
  this.roleName = 'textbox';
}

defineSeed(290, 230, {}, TextboxRoleImpl_0);
function TimerRoleImpl_0(){
  this.roleName = 'timer';
}

defineSeed(291, 230, {}, TimerRoleImpl_0);
function ToolbarRoleImpl_0(){
  this.roleName = 'toolbar';
}

defineSeed(292, 230, {}, ToolbarRoleImpl_0);
function TooltipRoleImpl_0(){
  this.roleName = 'tooltip';
}

defineSeed(293, 230, {}, TooltipRoleImpl_0);
function TreeRoleImpl_0(){
  this.roleName = 'tree';
}

defineSeed(294, 230, {}, TreeRoleImpl_0);
function TreegridRoleImpl_0(){
  this.roleName = 'treegrid';
}

defineSeed(295, 230, {}, TreegridRoleImpl_0);
function TreeitemRoleImpl_0(){
  this.roleName = 'treeitem';
}

defineSeed(296, 230, {}, TreeitemRoleImpl_0);
function $elapsedMillis(this$static){
  return currentTimeMillis() - this$static.start;
}

function Duration_0(){
  this.start = currentTimeMillis();
}

function currentTimeMillis(){
  return (new Date).getTime();
}

defineSeed(297, 1, {}, Duration_0);
function RuntimeException_0(message){
  Exception_0.call(this, message);
}

function RuntimeException_1(message, cause){
  $fillInStackTrace();
  this.cause = cause;
  this.detailMessage = message;
}

defineSeed(300, 15, makeCastMap([Q$Serializable, Q$Exception, Q$Throwable]), RuntimeException_0, RuntimeException_1);
function JavaScriptException_0(e){
  $fillInStackTrace();
  this.e = e;
  this.description = '';
  $createStackTrace(this);
}

function getExceptionDescription(e){
  return instanceOfJso(e)?getExceptionDescription0(dynamicCastJso(e)):e + '';
}

function getExceptionDescription0(e){
  return e == null?null:e.message;
}

function getExceptionName(e){
  var maybeJsoInvocation;
  return e == null?'null':instanceOfJso(e)?getExceptionName0(dynamicCastJso(e)):instanceOf(e, Q$String)?'String':(maybeJsoInvocation = e , isJavaObject(maybeJsoInvocation)?maybeJsoInvocation.___clazz$:Lcom_google_gwt_core_client_JavaScriptObject_2_classLit).typeName;
}

function getExceptionName0(e){
  return e == null?null:e.name;
}

function getExceptionProperties(e){
  return instanceOfJso(e)?$getProperties(dynamicCastJso(e)):'';
}

defineSeed(299, 300, makeCastMap([Q$JavaScriptException, Q$Serializable, Q$Exception, Q$Throwable]), JavaScriptException_0);
_.getMessage = function getMessage_0(){
  this.message_0 == null && (this.name_0 = getExceptionName(this.e) , this.description = this.description + ': ' + getExceptionDescription(this.e) , this.message_0 = '(' + this.name_0 + ') ' + getExceptionProperties(this.e) + this.description , undefined);
  return this.message_0;
}
;
_.description = '';
_.e = null;
_.message_0 = null;
_.name_0 = null;
function $setDate(this$static, dayOfMonth){
  this$static.setDate(dayOfMonth);
  return this$static.getTime();
}

function $setFullYear(this$static, year){
  this$static.setFullYear(year);
  return this$static.getTime();
}

function $setFullYear_0(this$static, year, month, day){
  this$static.setFullYear(year, month, day);
  return this$static.getTime();
}

function $setHours(this$static, hours){
  this$static.setHours(hours);
  return this$static.getTime();
}

function $setHours_0(this$static, hours, mins, secs, ms){
  this$static.setHours(hours, mins, secs, ms);
  return this$static.getTime();
}

function $setMinutes(this$static, minutes){
  this$static.setMinutes(minutes);
  return this$static.getTime();
}

function $setMonth(this$static, month){
  this$static.setMonth(month);
  return this$static.getTime();
}

function $setSeconds(this$static, seconds){
  this$static.setSeconds(seconds);
  return this$static.getTime();
}

function $setTime(this$static, milliseconds){
  this$static.setTime(milliseconds);
  return this$static.getTime();
}

function create_0(milliseconds){
  return new Date(milliseconds);
}

function create_1(year, month, dayOfMonth, hours, minutes, seconds, millis){
  return new Date(year, month, dayOfMonth, hours, minutes, seconds, millis);
}

function $clinit_JsonUtils(){
  var out;
  $clinit_JsonUtils = nullMethod;
  escapeTable = (out = ['\\u0000', '\\u0001', '\\u0002', '\\u0003', '\\u0004', '\\u0005', '\\u0006', '\\u0007', '\\b', '\\t', '\\n', '\\u000B', '\\f', '\\r', '\\u000E', '\\u000F', '\\u0010', '\\u0011', '\\u0012', '\\u0013', '\\u0014', '\\u0015', '\\u0016', '\\u0017', '\\u0018', '\\u0019', '\\u001A', '\\u001B', '\\u001C', '\\u001D', '\\u001E', '\\u001F'] , out[34] = '\\"' , out[92] = '\\\\' , out[173] = '\\u00ad' , out[1536] = '\\u0600' , out[1537] = '\\u0601' , out[1538] = '\\u0602' , out[1539] = '\\u0603' , out[1757] = '\\u06dd' , out[1807] = '\\u070f' , out[6068] = '\\u17b4' , out[6069] = '\\u17b5' , out[8203] = '\\u200b' , out[8204] = '\\u200c' , out[8205] = '\\u200d' , out[8206] = '\\u200e' , out[8207] = '\\u200f' , out[8232] = '\\u2028' , out[8233] = '\\u2029' , out[8234] = '\\u202a' , out[8235] = '\\u202b' , out[8236] = '\\u202c' , out[8237] = '\\u202d' , out[8238] = '\\u202e' , out[8288] = '\\u2060' , out[8289] = '\\u2061' , out[8290] = '\\u2062' , out[8291] = '\\u2063' , out[8292] = '\\u2064' , out[8298] = '\\u206a' , out[8299] = '\\u206b' , out[8300] = '\\u206c' , out[8301] = '\\u206d' , out[8302] = '\\u206e' , out[8303] = '\\u206f' , out[65279] = '\\ufeff' , out[65529] = '\\ufff9' , out[65530] = '\\ufffa' , out[65531] = '\\ufffb' , out);
  hasJsonParse = typeof JSON == 'object' && typeof JSON.parse == 'function';
}

function escapeChar(c){
  var lookedUp = escapeTable[c.charCodeAt(0)];
  return lookedUp == null?c:lookedUp;
}

function escapeJsonForEval(toEscape){
  $clinit_JsonUtils();
  var s = toEscape.replace(/[\xad\u0600-\u0603\u06dd\u070f\u17b4\u17b5\u200b-\u200f\u2028-\u202e\u2060-\u2064\u206a-\u206f\ufeff\ufff9-\ufffb]/g, function(x){
    return escapeChar(x);
  }
  );
  return s;
}

function escapeValue(toEscape){
  $clinit_JsonUtils();
  var s = toEscape.replace(/[\x00-\x1f\xad\u0600-\u0603\u06dd\u070f\u17b4\u17b5\u200b-\u200f\u2028-\u202e\u2060-\u2064\u206a-\u206f\ufeff\ufff9-\ufffb"\\]/g, function(x){
    return escapeChar(x);
  }
  );
  return '"' + s + '"';
}

var escapeTable, hasJsonParse;
defineSeed(305, 1, {});
function apply(jsFunction, thisObj, args){
  return jsFunction.apply(thisObj, args);
  var __0;
}

function enter(){
  var now;
  if (entryDepth != 0) {
    now = currentTimeMillis();
    if (now - watchdogEntryDepthLastScheduled > 2000) {
      watchdogEntryDepthLastScheduled = now;
      watchdogEntryDepthTimerId = watchdogEntryDepthSchedule();
    }
  }
  if (entryDepth++ == 0) {
    $flushEntryCommands(($clinit_SchedulerImpl() , INSTANCE_0));
    return true;
  }
  return false;
}

function entry_0(jsFunction){
  return function(){
    try {
      return entry0(jsFunction, this, arguments);
    }
     catch (e) {
      throw e;
    }
  }
  ;
}

function entry0(jsFunction, thisObj, args){
  var initialEntry;
  initialEntry = enter();
  try {
    return apply(jsFunction, thisObj, args);
  }
   finally {
    exit(initialEntry);
  }
}

function exit(initialEntry){
  initialEntry && $flushFinallyCommands(($clinit_SchedulerImpl() , INSTANCE_0));
  --entryDepth;
  if (initialEntry) {
    if (watchdogEntryDepthTimerId != -1) {
      watchdogEntryDepthCancel(watchdogEntryDepthTimerId);
      watchdogEntryDepthTimerId = -1;
    }
  }
}

function getHashCode(o){
  return o.$H || (o.$H = ++sNextHashId);
}

function getModuleBaseURL(){
  var key = '__gwtDevModeHook:' + $moduleName + ':moduleBase';
  var global = $wnd || self;
  return global[key] || $moduleBase;
}

function watchdogEntryDepthCancel(timerId){
  $wnd.clearTimeout(timerId);
}

function watchdogEntryDepthSchedule(){
  return $wnd.setTimeout(function(){
    entryDepth != 0 && (entryDepth = 0);
    watchdogEntryDepthTimerId = -1;
  }
  , 10);
}

var entryDepth = 0, sNextHashId = 0, watchdogEntryDepthLastScheduled = 0, watchdogEntryDepthTimerId = -1;
function $clinit_SchedulerImpl(){
  $clinit_SchedulerImpl = nullMethod;
  INSTANCE_0 = new SchedulerImpl_0;
}

function $flushEntryCommands(this$static){
  var oldQueue, rescheduled;
  if (this$static.entryCommands) {
    rescheduled = null;
    do {
      oldQueue = this$static.entryCommands;
      this$static.entryCommands = null;
      rescheduled = runScheduledTasks(oldQueue, rescheduled);
    }
     while (this$static.entryCommands);
    this$static.entryCommands = rescheduled;
  }
}

function $flushFinallyCommands(this$static){
  var oldQueue, rescheduled;
  if (this$static.finallyCommands) {
    rescheduled = null;
    do {
      oldQueue = this$static.finallyCommands;
      this$static.finallyCommands = null;
      rescheduled = runScheduledTasks(oldQueue, rescheduled);
    }
     while (this$static.finallyCommands);
    this$static.finallyCommands = rescheduled;
  }
}

function $flushPostEventPumpCommands(this$static){
  var oldDeferred;
  if (this$static.deferredCommands) {
    oldDeferred = this$static.deferredCommands;
    this$static.deferredCommands = null;
    !this$static.incrementalCommands && (this$static.incrementalCommands = []);
    runScheduledTasks(oldDeferred, this$static.incrementalCommands);
  }
  !!this$static.incrementalCommands && (this$static.incrementalCommands = $runRepeatingTasks(this$static.incrementalCommands));
}

function $isWorkQueued(this$static){
  return !!this$static.deferredCommands || !!this$static.incrementalCommands;
}

function $maybeSchedulePostEventPumpCommands(this$static){
  if (!this$static.shouldBeRunning) {
    this$static.shouldBeRunning = true;
    !this$static.flusher && (this$static.flusher = new SchedulerImpl$Flusher_0(this$static));
    scheduleFixedDelayImpl(this$static.flusher, 1);
    !this$static.rescue && (this$static.rescue = new SchedulerImpl$Rescuer_0(this$static));
    scheduleFixedDelayImpl(this$static.rescue, 50);
  }
}

function $runRepeatingTasks(tasks){
  var canceledSomeTasks, duration, executedSomeTask, i, length_0, newTasks, t;
  length_0 = tasks.length;
  if (length_0 == 0) {
    return null;
  }
  canceledSomeTasks = false;
  duration = new Duration_0;
  while (currentTimeMillis() - duration.start < 100) {
    executedSomeTask = false;
    for (i = 0; i < length_0; ++i) {
      t = tasks[i];
      if (!t) {
        continue;
      }
      executedSomeTask = true;
      if (!t[0].execute_0()) {
        tasks[i] = null;
        canceledSomeTasks = true;
      }
    }
    if (!executedSomeTask) {
      break;
    }
  }
  if (canceledSomeTasks) {
    newTasks = [];
    for (i = 0; i < length_0; ++i) {
      !!tasks[i] && (newTasks[newTasks.length] = tasks[i] , undefined);
    }
    return newTasks.length == 0?null:newTasks;
  }
   else {
    return tasks;
  }
}

function $scheduleDeferred(this$static, cmd){
  this$static.deferredCommands = push(this$static.deferredCommands, [cmd, false]);
  $maybeSchedulePostEventPumpCommands(this$static);
}

function $scheduleFinally(this$static, cmd){
  this$static.finallyCommands = push(this$static.finallyCommands, [cmd, false]);
}

function SchedulerImpl_0(){
}

function execute_9(cmd){
  return cmd.execute_0();
}

function push(queue, task){
  !queue && (queue = []);
  queue[queue.length] = task;
  return queue;
}

function runScheduledTasks(tasks, rescheduled){
  var i, j, t;
  for (i = 0 , j = tasks.length; i < j; ++i) {
    t = tasks[i];
    try {
      t[1]?t[0].execute_0() && (rescheduled = push(rescheduled, t)):t[0].execute();
    }
     catch ($e0) {
      $e0 = caught_0($e0);
      if (!instanceOf($e0, Q$Throwable))
        throw $e0;
    }
  }
  return rescheduled;
}

function scheduleFixedDelayImpl(cmd, delayMs){
  $clinit_SchedulerImpl();
  $wnd.setTimeout(function(){
    var ret = $entry(execute_9)(cmd);
    ret && $wnd.setTimeout(arguments.callee, delayMs);
  }
  , delayMs);
}

defineSeed(307, 305, {}, SchedulerImpl_0);
_.deferredCommands = null;
_.entryCommands = null;
_.finallyCommands = null;
_.flushRunning = false;
_.flusher = null;
_.incrementalCommands = null;
_.rescue = null;
_.shouldBeRunning = false;
var INSTANCE_0;
function SchedulerImpl$Flusher_0(this$0){
  this.this$0 = this$0;
}

defineSeed(308, 1, {}, SchedulerImpl$Flusher_0);
_.execute_0 = function execute_10(){
  this.this$0.flushRunning = true;
  $flushPostEventPumpCommands(this.this$0);
  this.this$0.flushRunning = false;
  return this.this$0.shouldBeRunning = $isWorkQueued(this.this$0);
}
;
_.this$0 = null;
function SchedulerImpl$Rescuer_0(this$0){
  this.this$0 = this$0;
}

defineSeed(309, 1, {}, SchedulerImpl$Rescuer_0);
--></script>
<script><!--
_.execute_0 = function execute_11(){
  this.this$0.flushRunning && scheduleFixedDelayImpl(this.this$0.flusher, 1);
  return this.this$0.shouldBeRunning;
}
;
_.this$0 = null;
function splice(arr, length_0){
  arr.length >= length_0 && arr.splice(0, length_0);
  return arr;
}

function $createStackTrace(e){
  var i, j, stack, stackTrace;
  stack = $inferFrom(instanceOfJso(e.e)?dynamicCastJso(e.e):null);
  stackTrace = initDim(_3Ljava_lang_StackTraceElement_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$StackTraceElement, stack.length, 0);
  for (i = 0 , j = stackTrace.length; i < j; ++i) {
    stackTrace[i] = new StackTraceElement_0(stack[i]);
  }
  $setStackTrace(stackTrace);
}

function $fillInStackTrace(){
  var i, j, stack, stackTrace;
  stack = splice($inferFrom($makeException()), 3);
  stackTrace = initDim(_3Ljava_lang_StackTraceElement_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$StackTraceElement, stack.length, 0);
  for (i = 0 , j = stackTrace.length; i < j; ++i) {
    stackTrace[i] = new StackTraceElement_0(stack[i]);
  }
  $setStackTrace(stackTrace);
}

function $getProperties(e){
  var result = '';
  try {
    for (var prop in e) {
      if (prop != 'name' && prop != 'message' && prop != 'toString') {
        try {
          result += '\n ' + prop + ': ' + e[prop];
        }
         catch (ignored) {
        }
      }
    }
  }
   catch (ignored) {
  }
  return result;
}

function $makeException(){
  try {
    null.a();
  }
   catch (e) {
    return e;
  }
}

function $inferFrom(e){
  var i, j, stack;
  stack = $getStack(e);
  for (i = 0 , j = stack.length; i < j; ++i) {
    stack[i] = stack[i].length == 0?'anonymous':stack[i];
  }
  return stack;
}

function $getStack(e){
  var i, i2, idx, j, toReturn;
  toReturn = e && e.message?e.message.split('\n'):[];
  for (i = 0 , i2 = 0 , j = toReturn.length; i2 < j; ++i , i2 += 2) {
    idx = toReturn[i2].lastIndexOf('function ');
    idx == -1?(toReturn[i] = '' , undefined):(toReturn[i] = $trim($substring(toReturn[i2], idx + 9)) , undefined);
  }
  toReturn.length = i;
  return toReturn;
}

defineSeed(315, 1, {});
function $append(this$static, x){
  this$static.string += x;
}

function $append_0(this$static, x){
  this$static.string += x;
}

function $append_1(this$static, x){
  this$static.string += x;
}

function $appendNonNull(this$static, x){
  this$static.string += x;
}

function $replace(this$static, start, end, toInsert){
  this$static.string = $substring_0(this$static.string, 0, start) + toInsert + $substring(this$static.string, end);
}

function StringBufferImplAppend_0(){
}

defineSeed(316, 315, {}, StringBufferImplAppend_0);
_.string = '';
function $appendChild_0(this$static, newChild){
  return this$static.appendChild(newChild);
}

function $getChildNodes(this$static){
  return this$static.childNodes;
}

function $insertBefore_1(this$static, newChild, refChild){
  return this$static.insertBefore(newChild, refChild);
}

function $removeChild(this$static, oldChild){
  return this$static.removeChild(oldChild);
}

function is_1(o){
  try {
    return !!o && !!o.nodeType;
  }
   catch (e) {
    return false;
  }
}

function $addClassName(this$static, className){
  var idx, oldClassName;
  className = $trim(className);
  oldClassName = this$static.className;
  idx = indexOfName(oldClassName, className);
  if (idx == -1) {
    oldClassName.length > 0?(this$static.className = oldClassName + ' ' + className , undefined):(this$static.className = className , undefined);
    return true;
  }
  return false;
}

function $getPropertyInt(this$static, name_0){
  return parseInt(this$static[name_0]) || 0;
}

function $getPropertyString(this$static, name_0){
  return this$static[name_0] == null?null:String(this$static[name_0]);
}

function $removeAttribute(this$static, name_0){
  this$static.removeAttribute(name_0);
}

function $removeClassName(this$static, className){
  var begin, end, idx, newClassName, oldStyle;
  className = $trim(className);
  oldStyle = this$static.className;
  idx = indexOfName(oldStyle, className);
  if (idx != -1) {
    begin = $trim(oldStyle.substr(0, idx - 0));
    end = $trim($substring(oldStyle, idx + className.length));
    begin.length == 0?(newClassName = end):end.length == 0?(newClassName = begin):(newClassName = begin + ' ' + end);
    this$static.className = newClassName;
    return true;
  }
  return false;
}

function $setAttribute(this$static, name_0, value){
  this$static.setAttribute(name_0, value);
}

function $setClassName(this$static, className){
  this$static.className = className;
}

function $setId_1(this$static, id){
  this$static.id = id;
}

function $setInnerHTML(this$static, html){
  this$static.innerHTML = html || '';
}

function $setScrollTop_0(this$static, scrollTop){
  this$static.scrollTop = scrollTop;
}

function $setTabIndex_2(this$static, tabIndex){
  this$static.tabIndex = tabIndex;
}

function $setTitle_1(this$static, title){
  this$static.title = title || '';
}

function indexOfName(nameList, name_0){
  var idx, last, lastPos;
  idx = nameList.indexOf(name_0);
  while (idx != -1) {
    if (idx == 0 || nameList.charCodeAt(idx - 1) == 32) {
      last = idx + name_0.length;
      lastPos = nameList.length;
      if (last == lastPos || last < lastPos && nameList.charCodeAt(last) == 32) {
        break;
      }
    }
    idx = nameList.indexOf(name_0, idx + 1);
  }
  return idx;
}

function is_2(o){
  if (is_1(o)) {
    return !!o && o.nodeType == 1;
  }
  return false;
}

function $createElement(doc, tag){
  return doc.createElement(tag);
}

function $createInputElement(doc, type){
  var e = doc.createElement('INPUT');
  e.type = type;
  return e;
}

function $getFirstChildElement(elem){
  var child = elem.firstChild;
  while (child && child.nodeType != 1)
    child = child.nextSibling;
  return child;
}

function $getParentElement(node){
  var parent_0 = node.parentNode;
  (!parent_0 || parent_0.nodeType != 1) && (parent_0 = null);
  return parent_0;
}

function $imgSetSrc(img, src){
  img.src = src;
}

function $selectRemoveOption(select, index){
  select.remove(index);
}

function $setScrollLeft_0(elem, left){
  elem.scrollLeft = left;
}

function $createMouseEvent(doc, type, canBubble, cancelable, detail, screenX, screenY, clientX, clientY, ctrlKey, altKey, shiftKey, metaKey, button, relatedTarget){
  button == 1?(button = 0):button == 4?(button = 1):(button = 2);
  var evt = doc.createEvent('MouseEvents');
  evt.initMouseEvent(type, canBubble, cancelable, null, detail, screenX, screenY, clientX, clientY, ctrlKey, altKey, shiftKey, metaKey, button, relatedTarget);
  return evt;
}

function $dispatchEvent(target, evt){
  target.dispatchEvent(evt);
}

function $eventGetButton(evt){
  var button = evt.button;
  if (button == 1) {
    return 4;
  }
   else if (button == 2) {
    return 2;
  }
  return 1;
}

function $isOrHasChild(parent_0, child){
  return parent_0.contains(child);
}

function $setInnerText(elem, text){
  elem.textContent = text || '';
}

function $getAbsoluteLeft(elem){
  var left = 0;
  var curr = elem.parentNode;
  while (curr && curr.offsetParent) {
    curr.tagName != 'TR' && curr.tagName != 'TBODY' && (left -= curr.scrollLeft);
    curr = curr.parentNode;
  }
  while (elem) {
    left += elem.offsetLeft;
    elem = elem.offsetParent;
  }
  return left;
}

function $getAbsoluteTop(elem){
  var top_0 = 0;
  var curr = elem.parentNode;
  while (curr && curr.offsetParent) {
    curr.tagName != 'TR' && curr.tagName != 'TBODY' && (top_0 -= curr.scrollTop);
    curr = curr.parentNode;
  }
  while (elem) {
    top_0 += elem.offsetTop;
    elem = elem.offsetParent;
  }
  return top_0;
}

function $getClientHeight_0(this$static){
  return ($equals_2(this$static.compatMode, 'CSS1Compat')?this$static.documentElement:this$static.body).clientHeight;
}

function $getClientWidth_0(this$static){
  return ($equals_2(this$static.compatMode, 'CSS1Compat')?this$static.documentElement:this$static.body).clientWidth;
}

function $getElementById(this$static, elementId){
  return this$static.getElementById(elementId);
}

function $getScrollHeight(this$static){
  return ($equals_2(this$static.compatMode, 'CSS1Compat')?this$static.documentElement:this$static.body).scrollHeight || 0;
}

function $getScrollLeft(this$static){
  return ($equals_2(this$static.compatMode, 'CSS1Compat')?this$static.documentElement:this$static.body).scrollLeft || 0;
}

function $getScrollTop(this$static){
  return ($equals_2(this$static.compatMode, 'CSS1Compat')?this$static.documentElement:this$static.body).scrollTop || 0;
}

function $getScrollWidth(this$static){
  return ($equals_2(this$static.compatMode, 'CSS1Compat')?this$static.documentElement:this$static.body).scrollWidth || 0;
}

function $setName_0(this$static, name_0){
  this$static.name = name_0;
}

function $setSrc(this$static, src){
  this$static.src = src;
}

function $clinit_Style$BorderStyle(){
  $clinit_Style$BorderStyle = nullMethod;
  NONE_0 = new Style$BorderStyle$1_0;
  DOTTED = new Style$BorderStyle$2_0;
  DASHED = new Style$BorderStyle$3_0;
  HIDDEN = new Style$BorderStyle$4_0;
  SOLID = new Style$BorderStyle$5_0;
  $VALUES_7 = initValues(_3Lcom_google_gwt_dom_client_Style$BorderStyle_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$Style$BorderStyle, [NONE_0, DOTTED, DASHED, HIDDEN, SOLID]);
}

function values_8(){
  $clinit_Style$BorderStyle();
  return $VALUES_7;
}

defineSeed(333, 34, makeCastMap([Q$Style$BorderStyle, Q$Style$HasCssName, Q$Serializable, Q$Comparable, Q$Enum]));
var $VALUES_7, DASHED, DOTTED, HIDDEN, NONE_0, SOLID;
function Style$BorderStyle$1_0(){
  Enum_0.call(this, 'NONE', 0);
}

defineSeed(334, 333, makeCastMap([Q$Style$BorderStyle, Q$Style$HasCssName, Q$Serializable, Q$Comparable, Q$Enum]), Style$BorderStyle$1_0);
function Style$BorderStyle$2_0(){
  Enum_0.call(this, 'DOTTED', 1);
}

defineSeed(335, 333, makeCastMap([Q$Style$BorderStyle, Q$Style$HasCssName, Q$Serializable, Q$Comparable, Q$Enum]), Style$BorderStyle$2_0);
function Style$BorderStyle$3_0(){
  Enum_0.call(this, 'DASHED', 2);
}

defineSeed(336, 333, makeCastMap([Q$Style$BorderStyle, Q$Style$HasCssName, Q$Serializable, Q$Comparable, Q$Enum]), Style$BorderStyle$3_0);
function Style$BorderStyle$4_0(){
  Enum_0.call(this, 'HIDDEN', 3);
}

defineSeed(337, 333, makeCastMap([Q$Style$BorderStyle, Q$Style$HasCssName, Q$Serializable, Q$Comparable, Q$Enum]), Style$BorderStyle$4_0);
function Style$BorderStyle$5_0(){
  Enum_0.call(this, 'SOLID', 4);
}

defineSeed(338, 333, makeCastMap([Q$Style$BorderStyle, Q$Style$HasCssName, Q$Serializable, Q$Comparable, Q$Enum]), Style$BorderStyle$5_0);
function $clinit_Style$Display(){
  $clinit_Style$Display = nullMethod;
  NONE_1 = new Style$Display$1_0;
  BLOCK = new Style$Display$2_0;
  INLINE = new Style$Display$3_0;
  INLINE_BLOCK = new Style$Display$4_0;
  $VALUES_8 = initValues(_3Lcom_google_gwt_dom_client_Style$Display_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$Style$Display, [NONE_1, BLOCK, INLINE, INLINE_BLOCK]);
}

function values_9(){
  $clinit_Style$Display();
  return $VALUES_8;
}

defineSeed(339, 34, makeCastMap([Q$Style$Display, Q$Style$HasCssName, Q$Serializable, Q$Comparable, Q$Enum]));
var $VALUES_8, BLOCK, INLINE, INLINE_BLOCK, NONE_1;
function Style$Display$1_0(){
  Enum_0.call(this, 'NONE', 0);
}

defineSeed(340, 339, makeCastMap([Q$Style$Display, Q$Style$HasCssName, Q$Serializable, Q$Comparable, Q$Enum]), Style$Display$1_0);
function Style$Display$2_0(){
  Enum_0.call(this, 'BLOCK', 1);
}

defineSeed(341, 339, makeCastMap([Q$Style$Display, Q$Style$HasCssName, Q$Serializable, Q$Comparable, Q$Enum]), Style$Display$2_0);
function Style$Display$3_0(){
  Enum_0.call(this, 'INLINE', 2);
}

defineSeed(342, 339, makeCastMap([Q$Style$Display, Q$Style$HasCssName, Q$Serializable, Q$Comparable, Q$Enum]), Style$Display$3_0);
function Style$Display$4_0(){
  Enum_0.call(this, 'INLINE_BLOCK', 3);
}

defineSeed(343, 339, makeCastMap([Q$Style$Display, Q$Style$HasCssName, Q$Serializable, Q$Comparable, Q$Enum]), Style$Display$4_0);
function $clinit_Style$Overflow(){
  $clinit_Style$Overflow = nullMethod;
  VISIBLE = new Style$Overflow$1_0;
  HIDDEN_0 = new Style$Overflow$2_0;
  SCROLL = new Style$Overflow$3_0;
  AUTO_0 = new Style$Overflow$4_0;
  $VALUES_9 = initValues(_3Lcom_google_gwt_dom_client_Style$Overflow_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$Style$Overflow, [VISIBLE, HIDDEN_0, SCROLL, AUTO_0]);
}

function values_10(){
  $clinit_Style$Overflow();
  return $VALUES_9;
}

defineSeed(344, 34, makeCastMap([Q$Style$HasCssName, Q$Style$Overflow, Q$Serializable, Q$Comparable, Q$Enum]));
var $VALUES_9, AUTO_0, HIDDEN_0, SCROLL, VISIBLE;
function Style$Overflow$1_0(){
  Enum_0.call(this, 'VISIBLE', 0);
}

defineSeed(345, 344, makeCastMap([Q$Style$HasCssName, Q$Style$Overflow, Q$Serializable, Q$Comparable, Q$Enum]), Style$Overflow$1_0);
function Style$Overflow$2_0(){
  Enum_0.call(this, 'HIDDEN', 1);
}

defineSeed(346, 344, makeCastMap([Q$Style$HasCssName, Q$Style$Overflow, Q$Serializable, Q$Comparable, Q$Enum]), Style$Overflow$2_0);
function Style$Overflow$3_0(){
  Enum_0.call(this, 'SCROLL', 2);
}

defineSeed(347, 344, makeCastMap([Q$Style$HasCssName, Q$Style$Overflow, Q$Serializable, Q$Comparable, Q$Enum]), Style$Overflow$3_0);
function Style$Overflow$4_0(){
  Enum_0.call(this, 'AUTO', 3);
}

defineSeed(348, 344, makeCastMap([Q$Style$HasCssName, Q$Style$Overflow, Q$Serializable, Q$Comparable, Q$Enum]), Style$Overflow$4_0);
function $clinit_Style$Position(){
  $clinit_Style$Position = nullMethod;
  STATIC = new Style$Position$1_0;
  RELATIVE = new Style$Position$2_0;
  ABSOLUTE = new Style$Position$3_0;
  FIXED = new Style$Position$4_0;
  $VALUES_10 = initValues(_3Lcom_google_gwt_dom_client_Style$Position_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$Style$Position, [STATIC, RELATIVE, ABSOLUTE, FIXED]);
}

function values_11(){
  $clinit_Style$Position();
  return $VALUES_10;
}

defineSeed(349, 34, makeCastMap([Q$Style$HasCssName, Q$Style$Position, Q$Serializable, Q$Comparable, Q$Enum]));
var $VALUES_10, ABSOLUTE, FIXED, RELATIVE, STATIC;
function Style$Position$1_0(){
  Enum_0.call(this, 'STATIC', 0);
}

defineSeed(350, 349, makeCastMap([Q$Style$HasCssName, Q$Style$Position, Q$Serializable, Q$Comparable, Q$Enum]), Style$Position$1_0);
function Style$Position$2_0(){
  Enum_0.call(this, 'RELATIVE', 1);
}

defineSeed(351, 349, makeCastMap([Q$Style$HasCssName, Q$Style$Position, Q$Serializable, Q$Comparable, Q$Enum]), Style$Position$2_0);
function Style$Position$3_0(){
  Enum_0.call(this, 'ABSOLUTE', 2);
}

defineSeed(352, 349, makeCastMap([Q$Style$HasCssName, Q$Style$Position, Q$Serializable, Q$Comparable, Q$Enum]), Style$Position$3_0);
function Style$Position$4_0(){
  Enum_0.call(this, 'FIXED', 3);
}

defineSeed(353, 349, makeCastMap([Q$Style$HasCssName, Q$Style$Position, Q$Serializable, Q$Comparable, Q$Enum]), Style$Position$4_0);
function $clinit_Style$TextAlign(){
  $clinit_Style$TextAlign = nullMethod;
  CENTER_0 = new Style$TextAlign$1_0;
  JUSTIFY = new Style$TextAlign$2_0;
  LEFT_2 = new Style$TextAlign$3_0;
  RIGHT_2 = new Style$TextAlign$4_0;
  $VALUES_11 = initValues(_3Lcom_google_gwt_dom_client_Style$TextAlign_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$Style$TextAlign, [CENTER_0, JUSTIFY, LEFT_2, RIGHT_2]);
}

function values_12(){
  $clinit_Style$TextAlign();
  return $VALUES_11;
}

defineSeed(354, 34, makeCastMap([Q$Style$HasCssName, Q$Style$TextAlign, Q$Serializable, Q$Comparable, Q$Enum]));
var $VALUES_11, CENTER_0, JUSTIFY, LEFT_2, RIGHT_2;
function Style$TextAlign$1_0(){
  Enum_0.call(this, 'CENTER', 0);
}

defineSeed(355, 354, makeCastMap([Q$Style$HasCssName, Q$Style$TextAlign, Q$Serializable, Q$Comparable, Q$Enum]), Style$TextAlign$1_0);
function Style$TextAlign$2_0(){
  Enum_0.call(this, 'JUSTIFY', 1);
}

defineSeed(356, 354, makeCastMap([Q$Style$HasCssName, Q$Style$TextAlign, Q$Serializable, Q$Comparable, Q$Enum]), Style$TextAlign$2_0);
function Style$TextAlign$3_0(){
  Enum_0.call(this, 'LEFT', 2);
}

defineSeed(357, 354, makeCastMap([Q$Style$HasCssName, Q$Style$TextAlign, Q$Serializable, Q$Comparable, Q$Enum]), Style$TextAlign$3_0);
function Style$TextAlign$4_0(){
  Enum_0.call(this, 'RIGHT', 3);
}

defineSeed(358, 354, makeCastMap([Q$Style$HasCssName, Q$Style$TextAlign, Q$Serializable, Q$Comparable, Q$Enum]), Style$TextAlign$4_0);
function $clinit_Style$Unit(){
  $clinit_Style$Unit = nullMethod;
  PX = new Style$Unit$1_0;
  PCT = new Style$Unit$2_0;
  EM = new Style$Unit$3_0;
  EX = new Style$Unit$4_0;
  PT = new Style$Unit$5_0;
  PC = new Style$Unit$6_0;
  IN = new Style$Unit$7_0;
  CM = new Style$Unit$8_0;
  MM = new Style$Unit$9_0;
  $VALUES_12 = initValues(_3Lcom_google_gwt_dom_client_Style$Unit_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$Style$Unit, [PX, PCT, EM, EX, PT, PC, IN, CM, MM]);
}

function values_13(){
  $clinit_Style$Unit();
  return $VALUES_12;
}

defineSeed(359, 34, makeCastMap([Q$Style$Unit, Q$Serializable, Q$Comparable, Q$Enum]));
var $VALUES_12, CM, EM, EX, IN, MM, PC, PCT, PT, PX;
function Style$Unit$1_0(){
  Enum_0.call(this, 'PX', 0);
}

defineSeed(360, 359, makeCastMap([Q$Style$Unit, Q$Serializable, Q$Comparable, Q$Enum]), Style$Unit$1_0);
function Style$Unit$2_0(){
  Enum_0.call(this, 'PCT', 1);
}

defineSeed(361, 359, makeCastMap([Q$Style$Unit, Q$Serializable, Q$Comparable, Q$Enum]), Style$Unit$2_0);
function Style$Unit$3_0(){
  Enum_0.call(this, 'EM', 2);
}

defineSeed(362, 359, makeCastMap([Q$Style$Unit, Q$Serializable, Q$Comparable, Q$Enum]), Style$Unit$3_0);
function Style$Unit$4_0(){
  Enum_0.call(this, 'EX', 3);
}

defineSeed(363, 359, makeCastMap([Q$Style$Unit, Q$Serializable, Q$Comparable, Q$Enum]), Style$Unit$4_0);
function Style$Unit$5_0(){
  Enum_0.call(this, 'PT', 4);
}

defineSeed(364, 359, makeCastMap([Q$Style$Unit, Q$Serializable, Q$Comparable, Q$Enum]), Style$Unit$5_0);
function Style$Unit$6_0(){
  Enum_0.call(this, 'PC', 5);
}

defineSeed(365, 359, makeCastMap([Q$Style$Unit, Q$Serializable, Q$Comparable, Q$Enum]), Style$Unit$6_0);
function Style$Unit$7_0(){
  Enum_0.call(this, 'IN', 6);
}

defineSeed(366, 359, makeCastMap([Q$Style$Unit, Q$Serializable, Q$Comparable, Q$Enum]), Style$Unit$7_0);
function Style$Unit$8_0(){
  Enum_0.call(this, 'CM', 7);
}

defineSeed(367, 359, makeCastMap([Q$Style$Unit, Q$Serializable, Q$Comparable, Q$Enum]), Style$Unit$8_0);
function Style$Unit$9_0(){
  Enum_0.call(this, 'MM', 8);
}

defineSeed(368, 359, makeCastMap([Q$Style$Unit, Q$Serializable, Q$Comparable, Q$Enum]), Style$Unit$9_0);
function $clinit_Style$WhiteSpace(){
  $clinit_Style$WhiteSpace = nullMethod;
  NORMAL = new Style$WhiteSpace$1_0;
  NOWRAP = new Style$WhiteSpace$2_0;
  PRE = new Style$WhiteSpace$3_0;
  PRE_LINE = new Style$WhiteSpace$4_0;
  PRE_WRAP = new Style$WhiteSpace$5_0;
  $VALUES_13 = initValues(_3Lcom_google_gwt_dom_client_Style$WhiteSpace_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$Style$WhiteSpace, [NORMAL, NOWRAP, PRE, PRE_LINE, PRE_WRAP]);
}

function values_14(){
  $clinit_Style$WhiteSpace();
  return $VALUES_13;
}

defineSeed(369, 34, makeCastMap([Q$Style$HasCssName, Q$Style$WhiteSpace, Q$Serializable, Q$Comparable, Q$Enum]));
var $VALUES_13, NORMAL, NOWRAP, PRE, PRE_LINE, PRE_WRAP;
function Style$WhiteSpace$1_0(){
  Enum_0.call(this, 'NORMAL', 0);
}

defineSeed(370, 369, makeCastMap([Q$Style$HasCssName, Q$Style$WhiteSpace, Q$Serializable, Q$Comparable, Q$Enum]), Style$WhiteSpace$1_0);
function Style$WhiteSpace$2_0(){
  Enum_0.call(this, 'NOWRAP', 1);
}

defineSeed(371, 369, makeCastMap([Q$Style$HasCssName, Q$Style$WhiteSpace, Q$Serializable, Q$Comparable, Q$Enum]), Style$WhiteSpace$2_0);
function Style$WhiteSpace$3_0(){
  Enum_0.call(this, 'PRE', 2);
}

defineSeed(372, 369, makeCastMap([Q$Style$HasCssName, Q$Style$WhiteSpace, Q$Serializable, Q$Comparable, Q$Enum]), Style$WhiteSpace$3_0);
function Style$WhiteSpace$4_0(){
  Enum_0.call(this, 'PRE_LINE', 3);
}

defineSeed(373, 369, makeCastMap([Q$Style$HasCssName, Q$Style$WhiteSpace, Q$Serializable, Q$Comparable, Q$Enum]), Style$WhiteSpace$4_0);
function Style$WhiteSpace$5_0(){
  Enum_0.call(this, 'PRE_WRAP', 4);
}

defineSeed(374, 369, makeCastMap([Q$Style$HasCssName, Q$Style$WhiteSpace, Q$Serializable, Q$Comparable, Q$Enum]), Style$WhiteSpace$5_0);
function $clinit_StyleInjector(){
  $clinit_StyleInjector = nullMethod;
  toInject = [];
  toInjectAtEnd = [];
  toInjectAtStart = [];
  flusher = new StyleInjector$1_0;
}

function flush(){
  $clinit_StyleInjector();
  var css, maybeReturn, toReturn;
  toReturn = null;
  if (toInjectAtStart.length != 0) {
    css = toInjectAtStart.join('');
    maybeReturn = $injectStyleSheetAtStart(($clinit_StyleInjector$StyleInjectorImpl() , IMPL), css);
    !toInjectAtStart && (toReturn = maybeReturn);
    toInjectAtStart.length = 0;
  }
  if (toInject.length != 0) {
    css = toInject.join('');
    maybeReturn = $injectStyleSheet(($clinit_StyleInjector$StyleInjectorImpl() , IMPL), css);
    !toInject && (toReturn = maybeReturn);
    toInject.length = 0;
  }
  if (toInjectAtEnd.length != 0) {
    css = toInjectAtEnd.join('');
    maybeReturn = $injectStyleSheet(($clinit_StyleInjector$StyleInjectorImpl() , IMPL), css);
    !toInjectAtEnd && (toReturn = maybeReturn);
    toInjectAtEnd.length = 0;
  }
  needsInjection = false;
  return toReturn;
}

function schedule(){
  $clinit_StyleInjector();
  if (!needsInjection) {
    needsInjection = true;
    $scheduleFinally(($clinit_SchedulerImpl() , INSTANCE_0), flusher);
  }
}

var flusher, needsInjection = false, toInject, toInjectAtEnd, toInjectAtStart;
function StyleInjector$1_0(){
}

defineSeed(376, 1, {}, StyleInjector$1_0);
_.execute = function execute_12(){
  ($clinit_StyleInjector() , needsInjection) && flush();
}
;
function $clinit_StyleInjector$StyleInjectorImpl(){
  $clinit_StyleInjector$StyleInjectorImpl = nullMethod;
  IMPL = new StyleInjector$StyleInjectorImpl_0;
}

function $createElement_0(contents){
  var style;
  style = $doc.createElement('style');
  style['language'] = 'text/css';
  $setInnerText(style, contents);
  return style;
}

function $getHead(this$static){
  var elt;
  if (!this$static.head) {
    elt = $doc.getElementsByTagName('head')[0];
    this$static.head = elt;
  }
  return this$static.head;
}

function $injectStyleSheet(this$static, contents){
  var style;
  style = $createElement_0(contents);
  $appendChild_0($getHead(this$static), style);
  return style;
}

function $injectStyleSheetAtStart(this$static, contents){
  var style;
  style = $createElement_0(contents);
  $insertBefore_1($getHead(this$static), style, this$static.head.firstChild);
  return style;
}

function StyleInjector$StyleInjectorImpl_0(){
}

defineSeed(377, 1, {}, StyleInjector$StyleInjectorImpl_0);
_.head = null;
var IMPL;
function $setAlign(this$static, align){
  this$static.align = align;
}

function $setVAlign(this$static, vAlign){
  this$static.vAlign = vAlign;
}

function $setCellPadding(this$static, cellPadding){
  this$static.cellPadding = cellPadding;
}

function $setCellSpacing_0(this$static, cellSpacing){
  this$static.cellSpacing = cellSpacing;
}

function $getRelativeX(this$static, target){
  return this$static.clientX - $getAbsoluteLeft(target) + (target.scrollLeft || 0) + $getScrollLeft(target.ownerDocument);
}

function $getRelativeY(this$static, target){
  return this$static.clientY - $getAbsoluteTop(target) + (target.scrollTop || 0) + $getScrollTop(target.ownerDocument);
}

defineSeed(386, 1, {});
_.toString$ = function toString_15(){
  return 'An event type';
}
;
_.source = null;
function $overrideSource(this$static, source){
  this$static.source = source;
}

defineSeed(385, 386, {});
_.revive = function revive(){
  this.dead = false;
  this.source = null;
}
;
_.dead = false;
function $setNativeEvent(this$static, nativeEvent){
  this$static.nativeEvent = nativeEvent;
}

function $setRelativeElement(this$static, relativeElem){
  this$static.relativeElem = relativeElem;
}

function fireNativeEvent(nativeEvent, handlerSource, relativeElem){
  var currentNative, currentRelativeElem, typeKey;
  if (registered) {
    typeKey = dynamicCast($unsafeGet(registered, nativeEvent.type), Q$DomEvent$Type);
    if (typeKey) {
      currentNative = typeKey.flyweight.nativeEvent;
      currentRelativeElem = typeKey.flyweight.relativeElem;
      $setNativeEvent(typeKey.flyweight, nativeEvent);
      $setRelativeElement(typeKey.flyweight, relativeElem);
      $fireEvent_1(handlerSource, typeKey.flyweight);
      $setNativeEvent(typeKey.flyweight, currentNative);
      $setRelativeElement(typeKey.flyweight, currentRelativeElem);
    }
  }
}

defineSeed(384, 385, {});
_.getAssociatedType = function getAssociatedType(){
  return this.getAssociatedType_0();
}
;
_.nativeEvent = null;
_.relativeElem = null;
var registered = null;
defineSeed(383, 384, {});
function $getRelativeX_0(this$static, target){
  var e;
  e = this$static.nativeEvent;
  return (e.clientX || 0) - $getAbsoluteLeft(target) + (target.scrollLeft || 0) + $getScrollLeft(target.ownerDocument);
}

function $getRelativeY_0(this$static, target){
  var e;
  e = this$static.nativeEvent;
  return (e.clientY || 0) - $getAbsoluteTop(target) + (target.scrollTop || 0) + $getScrollTop(target.ownerDocument);
}

function $getX(this$static){
  var relativeElem;
  relativeElem = this$static.relativeElem;
  if (relativeElem) {
    return $getRelativeX_0(this$static, relativeElem);
  }
  return this$static.nativeEvent.clientX || 0;
}

function $getY(this$static){
  var relativeElem;
  relativeElem = this$static.relativeElem;
  if (relativeElem) {
    return $getRelativeY_0(this$static, relativeElem);
  }
  return this$static.nativeEvent.clientY || 0;
}

defineSeed(382, 383, {});
function $clinit_ClickEvent(){
  $clinit_ClickEvent = nullMethod;
  TYPE = new DomEvent$Type_0('click', new ClickEvent_0);
}

function ClickEvent_0(){
}

defineSeed(381, 382, {}, ClickEvent_0);
_.dispatch = function dispatch(handler){
  dynamicCast(handler, Q$ClickHandler).onClick_0(this);
}
;
_.getAssociatedType_0 = function getAssociatedType_0(){
  return TYPE;
}
;
var TYPE;
defineSeed(389, 1, {});
_.hashCode$ = function hashCode_7(){
  return this.index_0;
}
;
_.toString$ = function toString_16(){
  return 'Event type';
}
;
_.index_0 = 0;
var nextHashCode = 0;
function GwtEvent$Type_0(){
  this.index_0 = ++nextHashCode;
}

defineSeed(388, 389, {}, GwtEvent$Type_0);
function DomEvent$Type_0(eventName, flyweight){
  GwtEvent$Type_0.call(this);
  this.flyweight = flyweight;
  !registered && (registered = new PrivateMap_0);
  $unsafePut(registered, eventName, this);
  this.name_0 = eventName;
}

defineSeed(387, 388, makeCastMap([Q$DomEvent$Type]), DomEvent$Type_0);
_.flyweight = null;
_.name_0 = null;
defineSeed(392, 384, {});
defineSeed(391, 392, {});
function $clinit_KeyDownEvent(){
  $clinit_KeyDownEvent = nullMethod;
  TYPE_0 = new DomEvent$Type_0('keydown', new KeyDownEvent_0);
}

function $dispatch(this$static, handler){
  dynamicCast(handler.listener, Q$KeyboardListener).onKeyDown(dynamicCast(this$static.source, Q$Widget), (this$static.nativeEvent.keyCode || 0) & 65535, getKeyboardModifiers(this$static.nativeEvent));
}

function KeyDownEvent_0(){
}

defineSeed(393, 391, {}, KeyDownEvent_0);
_.dispatch = function dispatch_0(handler){
  $dispatch(this, dynamicCast(handler, Q$KeyDownHandler));
}
;
_.getAssociatedType_0 = function getAssociatedType_1(){
  return TYPE_0;
}
;
var TYPE_0;
function $clinit_KeyPressEvent(){
  $clinit_KeyPressEvent = nullMethod;
  TYPE_1 = new DomEvent$Type_0('keypress', new KeyPressEvent_0);
}

function KeyPressEvent_0(){
}

defineSeed(394, 392, {}, KeyPressEvent_0);
_.dispatch = function dispatch_1(handler){
  dynamicCast(handler, Q$KeyPressHandler).onKeyPress_0(this);
}
;
_.getAssociatedType_0 = function getAssociatedType_2(){
  return TYPE_1;
}
;
var TYPE_1;
function $clinit_KeyUpEvent(){
  $clinit_KeyUpEvent = nullMethod;
  TYPE_2 = new DomEvent$Type_0('keyup', new KeyUpEvent_0);
}

function KeyUpEvent_0(){
}

defineSeed(395, 391, {}, KeyUpEvent_0);
_.dispatch = function dispatch_2(handler){
  dynamicCast(handler, Q$KeyUpHandler).onKeyUp(this);
}
;
_.getAssociatedType_0 = function getAssociatedType_3(){
  return TYPE_2;
}
;
var TYPE_2;
function $clinit_MouseDownEvent(){
  $clinit_MouseDownEvent = nullMethod;
  TYPE_3 = new DomEvent$Type_0('mousedown', new MouseDownEvent_0);
}

function MouseDownEvent_0(){
}

defineSeed(396, 382, {}, MouseDownEvent_0);
_.dispatch = function dispatch_3(handler){
  dynamicCast(handler, Q$MouseDownHandler).onMouseDown(this);
}
;
_.getAssociatedType_0 = function getAssociatedType_4(){
  return TYPE_3;
}
;
var TYPE_3;
function $clinit_MouseMoveEvent(){
  $clinit_MouseMoveEvent = nullMethod;
  TYPE_4 = new DomEvent$Type_0('mousemove', new MouseMoveEvent_0);
}

function MouseMoveEvent_0(){
}

defineSeed(397, 382, {}, MouseMoveEvent_0);
_.dispatch = function dispatch_4(handler){
  dynamicCast(handler, Q$MouseMoveHandler).onMouseMove(this);
}
;
_.getAssociatedType_0 = function getAssociatedType_5(){
  return TYPE_4;
}
;
var TYPE_4;
function $clinit_MouseOutEvent(){
  $clinit_MouseOutEvent = nullMethod;
  TYPE_5 = new DomEvent$Type_0('mouseout', new MouseOutEvent_0);
}

function MouseOutEvent_0(){
}

defineSeed(398, 382, {}, MouseOutEvent_0);
_.dispatch = function dispatch_5(handler){
  dynamicCast(dynamicCast(handler, Q$MouseOutHandler), Q$DialogBox$MouseHandler);
}
;
_.getAssociatedType_0 = function getAssociatedType_6(){
  return TYPE_5;
}
;
var TYPE_5;
function $clinit_MouseOverEvent(){
  $clinit_MouseOverEvent = nullMethod;
  TYPE_6 = new DomEvent$Type_0('mouseover', new MouseOverEvent_0);
}

function MouseOverEvent_0(){
}

defineSeed(399, 382, {}, MouseOverEvent_0);
_.dispatch = function dispatch_6(handler){
  dynamicCast(dynamicCast(handler, Q$MouseOverHandler), Q$DialogBox$MouseHandler);
}
;
--></script>
<script><!--
_.getAssociatedType_0 = function getAssociatedType_7(){
  return TYPE_6;
}
;
var TYPE_6;
function $clinit_MouseUpEvent(){
  $clinit_MouseUpEvent = nullMethod;
  TYPE_7 = new DomEvent$Type_0('mouseup', new MouseUpEvent_0);
}

function MouseUpEvent_0(){
}

defineSeed(400, 382, {}, MouseUpEvent_0);
_.dispatch = function dispatch_7(handler){
  dynamicCast(handler, Q$MouseUpHandler).onMouseUp(this);
}
;
_.getAssociatedType_0 = function getAssociatedType_8(){
  return TYPE_7;
}
;
var TYPE_7;
function $unsafeGet(this$static, key){
  return this$static.map[key];
}

function $unsafePut(this$static, key, value){
  this$static.map[key] = value;
}

function PrivateMap_0(){
  this.map = {};
}

defineSeed(401, 1, {}, PrivateMap_0);
_.map = null;
defineSeed(404, 383, {});
var impl_1 = null;
function $clinit_TouchCancelEvent(){
  $clinit_TouchCancelEvent = nullMethod;
  TYPE_8 = new DomEvent$Type_0('touchcancel', new TouchCancelEvent_0);
}

function TouchCancelEvent_0(){
}

defineSeed(403, 404, {}, TouchCancelEvent_0);
_.dispatch = function dispatch_8(handler){
  dynamicCast(handler, Q$TouchCancelHandler).onTouchCancel(this);
}
;
_.getAssociatedType_0 = function getAssociatedType_9(){
  return TYPE_8;
}
;
var TYPE_8;
function $clinit_TouchEndEvent(){
  $clinit_TouchEndEvent = nullMethod;
  TYPE_9 = new DomEvent$Type_0('touchend', new TouchEndEvent_0);
}

function TouchEndEvent_0(){
}

defineSeed(405, 404, {}, TouchEndEvent_0);
_.dispatch = function dispatch_9(handler){
  dynamicCast(handler, Q$TouchEndHandler).onTouchEnd(this);
}
;
_.getAssociatedType_0 = function getAssociatedType_10(){
  return TYPE_9;
}
;
var TYPE_9;
function TouchEvent$TouchSupportDetector_0(){
  var elem;
  this.isSupported = (elem = document.createElement('div') , elem.setAttribute('ontouchstart', 'return;') , typeof elem.ontouchstart == 'function');
}

defineSeed(406, 1, {}, TouchEvent$TouchSupportDetector_0);
function $clinit_TouchMoveEvent(){
  $clinit_TouchMoveEvent = nullMethod;
  TYPE_10 = new DomEvent$Type_0('touchmove', new TouchMoveEvent_0);
}

function TouchMoveEvent_0(){
}

defineSeed(407, 404, {}, TouchMoveEvent_0);
_.dispatch = function dispatch_10(handler){
  dynamicCast(handler, Q$TouchMoveHandler).onTouchMove(this);
}
;
_.getAssociatedType_0 = function getAssociatedType_11(){
  return TYPE_10;
}
;
var TYPE_10;
function $clinit_TouchStartEvent(){
  $clinit_TouchStartEvent = nullMethod;
  TYPE_11 = new DomEvent$Type_0('touchstart', new TouchStartEvent_0);
}

function TouchStartEvent_0(){
}

defineSeed(408, 404, {}, TouchStartEvent_0);
_.dispatch = function dispatch_11(handler){
  dynamicCast(handler, Q$TouchStartHandler).onTouchStart(this);
}
;
_.getAssociatedType_0 = function getAssociatedType_12(){
  return TYPE_11;
}
;
var TYPE_11;
function $dispatch_0(this$static, handler){
  this$static.attached?$setupBustClickHandler(handler.this$0):$removeBustClickHandler(handler.this$0);
}

function AttachEvent_0(attached){
  this.attached = attached;
}

function fire_0(source, attached){
  var event_0;
  if (TYPE_12) {
    event_0 = new AttachEvent_0(attached);
    !!source.handlerManager && $fireEvent_4(source.handlerManager, event_0);
  }
}

defineSeed(409, 385, {}, AttachEvent_0);
_.dispatch = function dispatch_12(handler){
  $dispatch_0(this, dynamicCast(handler, Q$AttachEvent$Handler));
}
;
_.getAssociatedType = function getAssociatedType_13(){
  return TYPE_12;
}
;
_.attached = false;
var TYPE_12 = null;
function $dispatch_1(this$static, handler){
  dynamicCast(handler.listener, Q$TabListener).onBeforeTabSelected(dynamicCast(this$static.source, Q$SourcesTabEvents), this$static.item.value_0) || (this$static.canceled = true);
}

function BeforeSelectionEvent_0(){
}

function fire_1(source, item){
  var event_0;
  if (TYPE_13) {
    event_0 = new BeforeSelectionEvent_0;
    event_0.item = item;
    source.fireEvent(event_0);
    return event_0;
  }
  return null;
}

defineSeed(410, 385, {}, BeforeSelectionEvent_0);
_.dispatch = function dispatch_13(handler){
  $dispatch_1(this, dynamicCast(handler, Q$BeforeSelectionHandler));
}
;
_.getAssociatedType = function getAssociatedType_14(){
  return TYPE_13;
}
;
_.canceled = false;
_.item = null;
var TYPE_13 = null;
function CloseEvent_0(){
}

function fire_2(source){
  var event_0;
  if (TYPE_14) {
    event_0 = new CloseEvent_0;
    source.fireEvent(event_0);
  }
}

defineSeed(411, 385, {}, CloseEvent_0);
_.dispatch = function dispatch_14(handler){
  dynamicCast(handler, Q$CloseHandler).onClose(this);
}
;
_.getAssociatedType = function getAssociatedType_15(){
  return TYPE_14;
}
;
var TYPE_14 = null;
function ResizeEvent_0(width){
  this.width_0 = width;
}

function fire_3(source, width){
  var event_0;
  if (TYPE_15) {
    event_0 = new ResizeEvent_0(width);
    $fireEvent_4(source, event_0);
  }
}

defineSeed(412, 385, {}, ResizeEvent_0);
_.dispatch = function dispatch_15(handler){
  dynamicCast(handler, Q$ResizeHandler).onResize_0(this);
}
;
_.getAssociatedType = function getAssociatedType_16(){
  return TYPE_15;
}
;
_.width_0 = 0;
var TYPE_15 = null;
function $dispatch_2(this$static, handler){
  dynamicCast(handler.listener, Q$TabListener).onTabSelected(dynamicCast(this$static.source, Q$SourcesTabEvents), this$static.selectedItem.value_0);
}

function SelectionEvent_0(selectedItem){
  this.selectedItem = selectedItem;
}

function fire_4(source, selectedItem){
  var event_0;
  if (TYPE_16) {
    event_0 = new SelectionEvent_0(selectedItem);
    source.fireEvent(event_0);
  }
}

defineSeed(413, 385, {}, SelectionEvent_0);
_.dispatch = function dispatch_16(handler){
  $dispatch_2(this, dynamicCast(handler, Q$SelectionHandler));
}
;
_.getAssociatedType = function getAssociatedType_17(){
  return TYPE_16;
}
;
_.selectedItem = null;
var TYPE_16 = null;
function $dispatch_3(handler){
  handler.this$0.autoHideOnHistoryEvents && handler.this$0.hide();
}

function ValueChangeEvent_0(){
}

function fire_5(source){
  var event_0;
  if (TYPE_17) {
    event_0 = new ValueChangeEvent_0;
    source.fireEvent(event_0);
  }
}

defineSeed(414, 385, {}, ValueChangeEvent_0);
_.dispatch = function dispatch_17(handler){
  $dispatch_3(dynamicCast(handler, Q$ValueChangeHandler));
}
;
_.getAssociatedType = function getAssociatedType_18(){
  return TYPE_17;
}
;
var TYPE_17 = null;
function $addHandler_0(this$static, type, handler){
  return new LegacyHandlerWrapper_0($doAdd(this$static.eventBus, type, handler));
}

function $fireEvent_4(this$static, event_0){
  var e, oldSource;
  !event_0.dead || event_0.revive();
  oldSource = event_0.source;
  $overrideSource(event_0, this$static.source);
  try {
    $doFire(this$static.eventBus, event_0);
  }
   catch ($e0) {
    $e0 = caught_0($e0);
    if (instanceOf($e0, Q$UmbrellaException)) {
      e = $e0;
      throw new UmbrellaException_2(e.causes);
    }
     else 
      throw $e0;
  }
   finally {
    oldSource == null?(event_0.dead = true , event_0.source = null):(event_0.source = oldSource);
  }
}

function $isEventHandled(this$static, e){
  return $isEventHandled_0(this$static.eventBus, e);
}

function HandlerManager_0(source){
  HandlerManager_1.call(this, source, false);
}

function HandlerManager_1(source, fireInReverseOrder){
  this.eventBus = new HandlerManager$Bus_0(fireInReverseOrder);
  this.source = source;
}

defineSeed(415, 1, makeCastMap([Q$HasHandlers]), HandlerManager_0, HandlerManager_1);
_.fireEvent = function fireEvent_0(event_0){
  $fireEvent_4(this, event_0);
}
;
_.eventBus = null;
_.source = null;
defineSeed(418, 1, {});
function $defer(this$static, command){
  !this$static.deferredDeltas && (this$static.deferredDeltas = new ArrayList_0);
  $add_17(this$static.deferredDeltas, command);
}

function $doAdd(this$static, type, handler){
  if (!type) {
    throw new NullPointerException_1('Cannot add a handler with a null type');
  }
  if (!handler) {
    throw new NullPointerException_1('Cannot add a null handler');
  }
  this$static.firingDepth > 0?$defer(this$static, new SimpleEventBus$2_0(this$static, type, handler)):$doAddNow(this$static, type, null, handler);
  return new SimpleEventBus$1_0(this$static, type, handler);
}

function $doAddNow(this$static, type, source, handler){
  var l_0;
  l_0 = $ensureHandlerList(this$static, type, source);
  l_0.add_0(handler);
}

function $doFire(this$static, event_0){
  var causes, e, handler, handlers, it;
  if (!event_0) {
    throw new NullPointerException_1('Cannot fire null event');
  }
  try {
    ++this$static.firingDepth;
    handlers = $getDispatchList(this$static, event_0.getAssociatedType());
    causes = null;
    it = this$static.isReverseOrder?handlers.listIterator_0(handlers.size_1()):handlers.listIterator();
    while (this$static.isReverseOrder?it.i > 0:it.i < it.this$0_0.size_1()) {
      handler = this$static.isReverseOrder?$previous(it):$next_3(it);
      try {
        event_0.dispatch(dynamicCast(handler, Q$EventHandler));
      }
       catch ($e0) {
        $e0 = caught_0($e0);
        if (instanceOf($e0, Q$Throwable)) {
          e = $e0;
          !causes && (causes = new HashSet_0);
          $add_20(causes, e);
        }
         else 
          throw $e0;
      }
    }
    if (causes) {
      throw new UmbrellaException_1(causes);
    }
  }
   finally {
    --this$static.firingDepth;
    this$static.firingDepth == 0 && $handleQueuedAddsAndRemoves(this$static);
  }
}

function $doRemoveNow(this$static, type, source, handler){
  var l_0, removed, sourceMap;
  l_0 = $getHandlerList(this$static, type, source);
  removed = l_0.remove_2(handler);
  removed && l_0.isEmpty() && (sourceMap = dynamicCast($get_8(this$static.map, type), Q$Map) , dynamicCast(sourceMap.remove_1(source), Q$List) , sourceMap.isEmpty() && $remove_20(this$static.map, type) , undefined);
}

function $ensureHandlerList(this$static, type, source){
  var handlers, sourceMap;
  sourceMap = dynamicCast($get_8(this$static.map, type), Q$Map);
  if (!sourceMap) {
    sourceMap = new HashMap_0;
    $put_5(this$static.map, type, sourceMap);
  }
  handlers = dynamicCast(sourceMap.get_0(source), Q$List);
  if (!handlers) {
    handlers = new ArrayList_0;
    sourceMap.put(source, handlers);
  }
  return handlers;
}

function $getDispatchList(this$static, type){
  var directHandlers;
  directHandlers = $getHandlerList(this$static, type, null);
  return directHandlers;
}

function $getHandlerList(this$static, type, source){
  var handlers, sourceMap;
  sourceMap = dynamicCast($get_8(this$static.map, type), Q$Map);
  if (!sourceMap) {
    return $clinit_Collections() , $clinit_Collections() , EMPTY_LIST;
  }
  handlers = dynamicCast(sourceMap.get_0(source), Q$List);
  if (!handlers) {
    return $clinit_Collections() , $clinit_Collections() , EMPTY_LIST;
  }
  return handlers;
}

function $handleQueuedAddsAndRemoves(this$static){
  var c, c$iterator;
  if (this$static.deferredDeltas) {
    try {
      for (c$iterator = new AbstractList$IteratorImpl_0(this$static.deferredDeltas); c$iterator.i < c$iterator.this$0_0.size_1();) {
        c = dynamicCast($next_3(c$iterator), Q$SimpleEventBus$Command);
        c.execute();
      }
    }
     finally {
      this$static.deferredDeltas = null;
    }
  }
}

function $isEventHandled_0(this$static, eventKey){
  return $containsKey_2(this$static.map, eventKey);
}

defineSeed(417, 418, {});
_.deferredDeltas = null;
_.firingDepth = 0;
_.isReverseOrder = false;
function $doRemove(this$static, type, source, handler){
  this$static.firingDepth > 0?$defer(this$static, new SimpleEventBus$3_0(this$static, type, source, handler)):$doRemoveNow(this$static, type, source, handler);
}

function HandlerManager$Bus_0(fireInReverseOrder){
  this.map = new HashMap_0;
  this.isReverseOrder = fireInReverseOrder;
}

defineSeed(416, 417, {}, HandlerManager$Bus_0);
function LegacyHandlerWrapper_0(real){
  this.real = real;
}

defineSeed(419, 1, makeCastMap([Q$HandlerRegistration]), LegacyHandlerWrapper_0);
_.real = null;
function UmbrellaException_1(causes){
  RuntimeException_1.call(this, makeMessage(causes), makeCause(causes));
  this.causes = causes;
}

function makeCause(causes){
  var iterator;
  iterator = causes.iterator_0();
  if (!iterator.hasNext()) {
    return null;
  }
  return dynamicCast(iterator.next_0(), Q$Throwable);
}

function makeMessage(causes){
  var b, count, first, t, t$iterator;
  count = causes.size_1();
  if (count == 0) {
    return null;
  }
  b = new StringBuilder_1(count == 1?'Exception caught: ':count + ' exceptions caught: ');
  first = true;
  for (t$iterator = causes.iterator_0(); t$iterator.hasNext();) {
    t = dynamicCast(t$iterator.next_0(), Q$Throwable);
    first?(first = false):(b.impl.string += '; ' , b);
    $append_6(b, t.getMessage());
  }
  return b.impl.string;
}

defineSeed(421, 300, makeCastMap([Q$UmbrellaException, Q$Serializable, Q$Exception, Q$Throwable]), UmbrellaException_1);
_.causes = null;
function UmbrellaException_2(causes){
  UmbrellaException_1.call(this, causes);
}

defineSeed(420, 421, makeCastMap([Q$UmbrellaException, Q$Serializable, Q$Exception, Q$Throwable]), UmbrellaException_2);
function throwIfNull(value){
  if (null == value) {
    throw new NullPointerException_1('decodedURL cannot be null');
  }
}

function AutoDirectionHandler_0(){
}

function addTo(){
  var autoDirHandler;
  autoDirHandler = new AutoDirectionHandler_0;
  return autoDirHandler;
}

defineSeed(424, 1, makeCastMap([Q$KeyUpHandler, Q$EventHandler, Q$HasDirectionEstimator]), AutoDirectionHandler_0);
_.onKeyUp = function onKeyUp(event_0){
}
;
function getDirectionOnElement(elem){
  var dirPropertyValue;
  dirPropertyValue = $getPropertyString(elem, 'dir');
  if ($equalsIgnoreCase('rtl', dirPropertyValue)) {
    return $clinit_HasDirection$Direction() , RTL;
  }
   else if ($equalsIgnoreCase('ltr', dirPropertyValue)) {
    return $clinit_HasDirection$Direction() , LTR;
  }
  return $clinit_HasDirection$Direction() , DEFAULT;
}

function setDirectionOnElement(elem, direction){
  switch (direction.ordinal) {
    case 0:
      {
        elem['dir'] = 'rtl';
        break;
      }

    case 1:
      {
        elem['dir'] = 'ltr';
        break;
      }

    case 2:
      {
        getDirectionOnElement(elem) != ($clinit_HasDirection$Direction() , DEFAULT) && (elem['dir'] = '' , undefined);
        break;
      }

  }
}

function $getDefaultNative(){
  return ['USD', 'US$', 2, 'US$', '$'];
}

function $clinit_DateTimeFormat(){
  $clinit_DateTimeFormat = nullMethod;
  new HashMap_0;
}

function $addPart(this$static, buf, count){
  var oldLength;
  if (buf.impl.string.length > 0) {
    $add_17(this$static.patternParts, new DateTimeFormat$PatternPart_0(buf.impl.string, count));
    oldLength = buf.impl.string.length;
    0 < oldLength?($replace(buf.impl, 0, oldLength, '') , buf):0 > oldLength && $append_5(buf, initDim(_3C_classLit, makeCastMap([Q$Serializable]), -1, -oldLength, 1));
  }
}

function $format(this$static, date, timeZone){
  var ch, diff, i, j, keepDate, keepTime, n, toAppendTo, trailQuote;
  !timeZone && (timeZone = createTimeZone(date.jsdate.getTimezoneOffset()));
  diff = (date.jsdate.getTimezoneOffset() - timeZone.standardOffset) * 60000;
  keepDate = new Date_3(add_2(fromDouble(date.jsdate.getTime()), fromInt(diff)));
  keepTime = keepDate;
  if (keepDate.jsdate.getTimezoneOffset() != date.jsdate.getTimezoneOffset()) {
    diff > 0?(diff -= 86400000):(diff += 86400000);
    keepTime = new Date_3(add_2(fromDouble(date.jsdate.getTime()), fromInt(diff)));
  }
  toAppendTo = new StringBuffer_1;
  n = this$static.pattern.length;
  for (i = 0; i < n;) {
    ch = $charAt(this$static.pattern, i);
    if (ch >= 97 && ch <= 122 || ch >= 65 && ch <= 90) {
      for (j = i + 1; j < n && $charAt(this$static.pattern, j) == ch; ++j) {
      }
      $subFormat(toAppendTo, ch, j - i, keepDate, keepTime, timeZone);
      i = j;
    }
     else if (ch == 39) {
      ++i;
      if (i < n && $charAt(this$static.pattern, i) == 39) {
        toAppendTo.impl.string += "'";
        ++i;
        continue;
      }
      trailQuote = false;
      while (!trailQuote) {
        j = i;
        while (j < n && $charAt(this$static.pattern, j) != 39) {
          ++j;
        }
        if (j >= n) {
          throw new IllegalArgumentException_0("Missing trailing '");
        }
        j + 1 < n && $charAt(this$static.pattern, j + 1) == 39?++j:(trailQuote = true);
        $append_4(toAppendTo, $substring_0(this$static.pattern, i, j));
        i = j + 1;
      }
    }
     else {
      $appendNonNull(toAppendTo.impl, String.fromCharCode(ch));
      ++i;
    }
  }
  return toAppendTo.impl.string;
}

function $formatFractionalSeconds(buf, count, date){
  var time, value;
  time = fromDouble(date.jsdate.getTime());
  if (lt(time, P0_longLit)) {
    value = 1000 - toInt(mod(neg(time), P3e8_longLit));
    value == 1000 && (value = 0);
  }
   else {
    value = toInt(mod(time, P3e8_longLit));
  }
  if (count == 1) {
    value = ~~((value + 50) / 100) < 9?~~((value + 50) / 100):9;
    $appendNonNull(buf.impl, String.fromCharCode(48 + value & 65535));
  }
   else if (count == 2) {
    value = ~~((value + 5) / 10) < 99?~~((value + 5) / 10):99;
    $zeroPaddingNumber(buf, value, 2);
  }
   else {
    $zeroPaddingNumber(buf, value, 3);
    count > 3 && $zeroPaddingNumber(buf, 0, count - 3);
  }
}

function $formatMonth(buf, count, date){
  var value;
  value = date.jsdate.getMonth();
  switch (count) {
    case 5:
      $append_4(buf, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'])[value]);
      break;
    case 4:
      $append_4(buf, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'])[value]);
      break;
    case 3:
      $append_4(buf, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'])[value]);
      break;
    default:$zeroPaddingNumber(buf, value + 1, count);
  }
}

function $formatYear(buf, count, date){
  var value;
  value = date.jsdate.getFullYear() - 1900 + 1900;
  value < 0 && (value = -value);
  switch (count) {
    case 1:
      $append(buf.impl, value);
      break;
    case 2:
      $zeroPaddingNumber(buf, value % 100, 2);
      break;
    default:$zeroPaddingNumber(buf, value, count);
  }
}

function $getNextCharCountInPattern(pattern, start){
  var ch, next;
  ch = pattern.charCodeAt(start);
  next = start + 1;
  while (next < pattern.length && pattern.charCodeAt(next) == ch) {
    ++next;
  }
  return next - start;
}

function $identifyAbutStart(this$static){
  var abut, i, len;
  abut = false;
  len = this$static.patternParts.size_0;
  for (i = 0; i < len; ++i) {
    if ($isNumeric(dynamicCast($get_6(this$static.patternParts, i), Q$DateTimeFormat$PatternPart))) {
      if (!abut && i + 1 < len && $isNumeric(dynamicCast($get_6(this$static.patternParts, i + 1), Q$DateTimeFormat$PatternPart))) {
        abut = true;
        dynamicCast($get_6(this$static.patternParts, i), Q$DateTimeFormat$PatternPart).abutStart = true;
      }
    }
     else {
      abut = false;
    }
  }
}

function $isNumeric(part){
  var i;
  if (part.count <= 0) {
    return false;
  }
  i = $indexOf_3('MLydhHmsSDkK', fromCodePoint(part.text_0.charCodeAt(0)));
  return i > 1 || i >= 0 && part.count < 3;
}

function $matchString(text, start, data, pos){
  var bestMatch, bestMatchLength, count, i, length_0, textInLowerCase;
  count = data.length;
  bestMatchLength = 0;
  bestMatch = -1;
  textInLowerCase = $substring(text, start).toLowerCase();
  for (i = 0; i < count; ++i) {
    length_0 = data[i].length;
    if (length_0 > bestMatchLength && $indexOf_3(textInLowerCase, data[i].toLowerCase()) == 0) {
      bestMatch = i;
      bestMatchLength = length_0;
    }
  }
  bestMatch >= 0 && (pos[0] = start + bestMatchLength);
  return bestMatch;
}

function $parse(this$static, text, date){
  var abutPass, abutPat, abutStart, cal, count, i, parsePos, part, s;
  cal = new DateRecord_0;
  parsePos = initValues(_3I_classLit, makeCastMap([Q$Serializable]), -1, [0]);
  abutPat = -1;
  abutStart = 0;
  abutPass = 0;
  for (i = 0; i < this$static.patternParts.size_0; ++i) {
    part = dynamicCast($get_6(this$static.patternParts, i), Q$DateTimeFormat$PatternPart);
    if (part.count > 0) {
      if (abutPat < 0 && part.abutStart) {
        abutPat = i;
        abutStart = parsePos[0];
        abutPass = 0;
      }
      if (abutPat >= 0) {
        count = part.count;
        if (i == abutPat) {
          count -= abutPass++;
          if (count == 0) {
            return 0;
          }
        }
        if (!$subParse(text, parsePos, part, count, cal)) {
          i = abutPat - 1;
          parsePos[0] = abutStart;
          continue;
        }
      }
       else {
        abutPat = -1;
        if (!$subParse(text, parsePos, part, 0, cal)) {
          return 0;
        }
      }
    }
     else {
      abutPat = -1;
      if (part.text_0.charCodeAt(0) == 32) {
        s = parsePos[0];
        $skipSpace(text, parsePos);
        if (parsePos[0] > s) {
          continue;
        }
      }
       else if ($startsWith(text, part.text_0, parsePos[0])) {
        parsePos[0] += part.text_0.length;
        continue;
      }
      return 0;
    }
  }
  if (!$calcDate(cal, date)) {
    return 0;
  }
  return parsePos[0];
}

function $parse_0(this$static, text){
  var charsConsumed, curDate, date;
  curDate = new Date_1;
  date = new Date_2(curDate.jsdate.getFullYear() - 1900, curDate.jsdate.getMonth(), curDate.jsdate.getDate());
  charsConsumed = $parse(this$static, text, date);
  if (charsConsumed == 0 || charsConsumed < text.length) {
    throw new IllegalArgumentException_0(text);
  }
  return date;
}

function $parseInt(text, pos){
  var ch, ind, ret;
  ret = 0;
  ind = pos[0];
  if (ind >= text.length) {
    return -1;
  }
  ch = text.charCodeAt(ind);
  while (ch >= 48 && ch <= 57) {
    ret = ret * 10 + (ch - 48);
    ++ind;
    if (ind >= text.length) {
      break;
    }
    ch = text.charCodeAt(ind);
  }
  ind > pos[0]?(pos[0] = ind):(ret = -1);
  return ret;
}

function $parsePattern(this$static, pattern){
  var buf, ch, count, i, inQuote;
  buf = new StringBuffer_1;
  inQuote = false;
  for (i = 0; i < pattern.length; ++i) {
    ch = pattern.charCodeAt(i);
    if (ch == 32) {
      $addPart(this$static, buf, 0);
      buf.impl.string += ' ';
      $addPart(this$static, buf, 0);
      while (i + 1 < pattern.length && pattern.charCodeAt(i + 1) == 32) {
        ++i;
      }
      continue;
    }
    if (inQuote) {
      if (ch == 39) {
        if (i + 1 < pattern.length && pattern.charCodeAt(i + 1) == 39) {
          buf.impl.string += "'";
          ++i;
        }
         else {
          inQuote = false;
        }
      }
       else {
        $appendNonNull(buf.impl, String.fromCharCode(ch));
      }
      continue;
    }
    if ($indexOf_3('GyMLdkHmsSEcDahKzZv', fromCodePoint(ch)) > 0) {
      $addPart(this$static, buf, 0);
      $appendNonNull(buf.impl, String.fromCharCode(ch));
      count = $getNextCharCountInPattern(pattern, i);
      $addPart(this$static, buf, count);
      i += count - 1;
      continue;
    }
    if (ch == 39) {
      if (i + 1 < pattern.length && pattern.charCodeAt(i + 1) == 39) {
        buf.impl.string += "'";
        ++i;
      }
       else {
        inQuote = true;
      }
    }
     else {
      $appendNonNull(buf.impl, String.fromCharCode(ch));
    }
  }
  $addPart(this$static, buf, 0);
  $identifyAbutStart(this$static);
}

function $parseTimeZoneOffset(text, pos, cal){
  var offset, sign, st, value;
  if (pos[0] >= text.length) {
    cal.tzOffset = 0;
    return true;
  }
  switch (text.charCodeAt(pos[0])) {
    case 43:
      sign = 1;
      break;
    case 45:
      sign = -1;
      break;
    default:cal.tzOffset = 0;
      return true;
  }
  ++pos[0];
  st = pos[0];
  value = $parseInt(text, pos);
  if (value == 0 && pos[0] == st) {
    return false;
  }
  if (pos[0] < text.length && text.charCodeAt(pos[0]) == 58) {
    offset = value * 60;
    ++pos[0];
    st = pos[0];
    value = $parseInt(text, pos);
    if (value == 0 && pos[0] == st) {
      return false;
    }
    offset += value;
  }
   else {
    offset = value;
    value < 24 && pos[0] - st <= 2?(offset *= 60):(offset = value % 100 + ~~(value / 100) * 60);
  }
  offset *= sign;
  cal.tzOffset = -offset;
  return true;
}

function $skipSpace(text, pos){
  while (pos[0] < text.length && $indexOf_3(' \t\r\n', fromCodePoint(text.charCodeAt(pos[0]))) >= 0) {
    ++pos[0];
  }
}

function $subFormat(buf, ch, count, adjustedDate, adjustedTime, timezone){
  var value, value_0, value_1, value_2, value_3, value_4, value_5, value_6, value_7, value_8, value_9, value_10;
  switch (ch) {
    case 71:
      value = adjustedDate.jsdate.getFullYear() - 1900 >= -1900?1:0;
      count >= 4?$append_4(buf, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['Before Christ', 'Anno Domini'])[value]):$append_4(buf, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['BC', 'AD'])[value]);
      break;
    case 121:
      $formatYear(buf, count, adjustedDate);
      break;
    case 77:
      $formatMonth(buf, count, adjustedDate);
      break;
    case 107:
      value_0 = adjustedTime.jsdate.getHours();
      value_0 == 0?$zeroPaddingNumber(buf, 24, count):$zeroPaddingNumber(buf, value_0, count);
      break;
    case 83:
      $formatFractionalSeconds(buf, count, adjustedTime);
      break;
    case 69:
      value_1 = adjustedDate.jsdate.getDay();
      count == 5?$append_4(buf, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['S', 'M', 'T', 'W', 'T', 'F', 'S'])[value_1]):count == 4?$append_4(buf, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'])[value_1]):$append_4(buf, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'])[value_1]);
      break;
    case 97:
      adjustedTime.jsdate.getHours() >= 12 && adjustedTime.jsdate.getHours() < 24?$append_4(buf, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['AM', 'PM'])[1]):$append_4(buf, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['AM', 'PM'])[0]);
      break;
    case 104:
      value_2 = adjustedTime.jsdate.getHours() % 12;
      value_2 == 0?$zeroPaddingNumber(buf, 12, count):$zeroPaddingNumber(buf, value_2, count);
      break;
    case 75:
      value_3 = adjustedTime.jsdate.getHours() % 12;
      $zeroPaddingNumber(buf, value_3, count);
      break;
    case 72:
      value_4 = adjustedTime.jsdate.getHours();
      $zeroPaddingNumber(buf, value_4, count);
      break;
    case 99:
      value_5 = adjustedDate.jsdate.getDay();
      count == 5?$append_4(buf, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['S', 'M', 'T', 'W', 'T', 'F', 'S'])[value_5]):count == 4?$append_4(buf, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'])[value_5]):count == 3?$append_4(buf, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'])[value_5]):$zeroPaddingNumber(buf, value_5, 1);
      break;
    case 76:
      value_6 = adjustedDate.jsdate.getMonth();
      count == 5?$append_4(buf, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'])[value_6]):count == 4?$append_4(buf, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'])[value_6]):count == 3?$append_4(buf, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'])[value_6]):$zeroPaddingNumber(buf, value_6 + 1, count);
      break;
    case 81:
      value_7 = ~~(adjustedDate.jsdate.getMonth() / 3);
      count < 4?$append_4(buf, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['Q1', 'Q2', 'Q3', 'Q4'])[value_7]):$append_4(buf, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'])[value_7]);
      break;
    case 100:
      value_8 = adjustedDate.jsdate.getDate();
      $zeroPaddingNumber(buf, value_8, count);
      break;
    case 109:
      value_9 = adjustedTime.jsdate.getMinutes();
      $zeroPaddingNumber(buf, value_9, count);
      break;
    case 115:
      value_10 = adjustedTime.jsdate.getSeconds();
      $zeroPaddingNumber(buf, value_10, count);
      break;
    case 122:
      count < 4?$append_4(buf, timezone.tzNames[0]):$append_4(buf, timezone.tzNames[1]);
      break;
    case 118:
      $append_4(buf, timezone.timezoneID);
      break;
    case 90:
      count < 3?$append_4(buf, $getRFCTimeZoneString(timezone)):count == 3?$append_4(buf, $getISOTimeZoneString(timezone)):$append_4(buf, composeGMTString(timezone.standardOffset));
      break;
    default:return false;
  }
  return true;
}

--></script>
<script><!--
function $subParse(text, pos, part, digitCount, cal){
  var ch, start, value;
  $skipSpace(text, pos);
  start = pos[0];
  ch = part.text_0.charCodeAt(0);
  value = -1;
  if ($isNumeric(part)) {
    if (digitCount > 0) {
      if (start + digitCount > text.length) {
        return false;
      }
      value = $parseInt(text.substr(0, start + digitCount - 0), pos);
    }
     else {
      value = $parseInt(text, pos);
    }
  }
  switch (ch) {
    case 71:
      value = $matchString(text, start, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['Before Christ', 'Anno Domini']), pos);
      cal.era = value;
      return true;
    case 77:
      return $subParseMonth(text, pos, cal, value, start);
    case 76:
      return $subParseStandaloneMonth(text, pos, cal, value, start);
    case 69:
      return $subParseDayOfWeek(text, pos, start, cal);
    case 99:
      return $subParseStandaloneDay(text, pos, start, cal);
    case 97:
      value = $matchString(text, start, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['AM', 'PM']), pos);
      cal.ampm = value;
      return true;
    case 121:
      return $subParseYear(text, pos, start, value, part, cal);
    case 100:
      if (value <= 0) {
        return false;
      }

      cal.dayOfMonth = value;
      return true;
    case 83:
      if (value < 0) {
        return false;
      }

      return $subParseFractionalSeconds(value, start, pos[0], cal);
    case 104:
      value == 12 && (value = 0);
    case 75:
    case 107:
    case 72:
      if (value < 0) {
        return false;
      }

      cal.hours = value;
      return true;
    case 109:
      if (value < 0) {
        return false;
      }

      cal.minutes = value;
      return true;
    case 115:
      if (value < 0) {
        return false;
      }

      cal.seconds = value;
      return true;
    case 90:
      if (start < text.length && text.charCodeAt(start) == 90) {
        ++pos[0];
        cal.tzOffset = 0;
        return true;
      }

    case 122:
    case 118:
      return $subParseTimeZoneInGMT(text, start, pos, cal);
    default:return false;
  }
}

function $subParseDayOfWeek(text, pos, start, cal){
  var value;
  value = $matchString(text, start, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']), pos);
  value < 0 && (value = $matchString(text, start, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']), pos));
  if (value < 0) {
    return false;
  }
  cal.dayOfWeek = value;
  return true;
}

function $subParseFractionalSeconds(value, start, end, cal){
  var a, i;
  i = end - start;
  if (i < 3) {
    while (i < 3) {
      value *= 10;
      ++i;
    }
  }
   else {
    a = 1;
    while (i > 3) {
      a *= 10;
      --i;
    }
    value = ~~((value + (a >> 1)) / a);
  }
  cal.milliseconds = value;
  return true;
}

function $subParseMonth(text, pos, cal, value, start){
  if (value < 0) {
    value = $matchString(text, start, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']), pos);
    value < 0 && (value = $matchString(text, start, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']), pos));
    if (value < 0) {
      return false;
    }
    cal.month = value;
    return true;
  }
   else if (value > 0) {
    cal.month = value - 1;
    return true;
  }
  return false;
}

function $subParseStandaloneDay(text, pos, start, cal){
  var value;
  value = $matchString(text, start, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']), pos);
  value < 0 && (value = $matchString(text, start, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']), pos));
  if (value < 0) {
    return false;
  }
  cal.dayOfWeek = value;
  return true;
}

function $subParseStandaloneMonth(text, pos, cal, value, start){
  if (value < 0) {
    value = $matchString(text, start, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']), pos);
    value < 0 && (value = $matchString(text, start, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']), pos));
    if (value < 0) {
      return false;
    }
    cal.month = value;
    return true;
  }
   else if (value > 0) {
    cal.month = value - 1;
    return true;
  }
  return false;
}

function $subParseTimeZoneInGMT(text, start, pos, cal){
  if (!(start < 0 || start >= text.length) && text.indexOf('GMT', start) == start) {
    pos[0] = start + 3;
    return $parseTimeZoneOffset(text, pos, cal);
  }
  if (!(start < 0 || start >= text.length) && text.indexOf('UTC', start) == start) {
    pos[0] = start + 3;
    return $parseTimeZoneOffset(text, pos, cal);
  }
  return $parseTimeZoneOffset(text, pos, cal);
}

function $subParseYear(text, pos, start, value, part, cal){
  var ambiguousTwoDigitYear, ch, date, defaultCenturyStartYear;
  ch = 32;
  if (value < 0) {
    if (pos[0] >= text.length) {
      return false;
    }
    ch = text.charCodeAt(pos[0]);
    if (ch != 43 && ch != 45) {
      return false;
    }
    ++pos[0];
    value = $parseInt(text, pos);
    if (value < 0) {
      return false;
    }
    ch == 45 && (value = -value);
  }
  if (ch == 32 && pos[0] - start == 2 && part.count == 2) {
    date = new Date_1;
    defaultCenturyStartYear = date.jsdate.getFullYear() - 1900 + 1900 - 80;
    ambiguousTwoDigitYear = defaultCenturyStartYear % 100;
    cal.ambiguousYear = value == ambiguousTwoDigitYear;
    value += ~~(defaultCenturyStartYear / 100) * 100 + (value < ambiguousTwoDigitYear?100:0);
  }
  cal.year = value;
  return true;
}

function $zeroPaddingNumber(buf, value, minWidth){
  var b, i;
  b = 10;
  for (i = 0; i < minWidth - 1; ++i) {
    value < b && (buf.impl.string += '0' , buf);
    b *= 10;
  }
  $append(buf.impl, value);
}

defineSeed(429, 1, {});
_.pattern = null;
function $clinit_DateTimeFormat_0(){
  $clinit_DateTimeFormat_0 = nullMethod;
  $clinit_DateTimeFormat();
  cache_0 = new HashMap_0;
}

function DateTimeFormat_1(pattern){
  $clinit_DateTimeFormat();
  this.patternParts = new ArrayList_0;
  this.pattern = pattern;
  $parsePattern(this, pattern);
}

function getFormat(predef){
  $clinit_DateTimeFormat_0();
  var dtfi, pattern;
  if (usesFixedEnglishStrings(predef)) {
    switch (predef.ordinal) {
      case 1:
        pattern = 'EEE, d MMM yyyy HH:mm:ss Z';
        break;
      case 0:
        pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSZZZ";
        break;
      default:throw new IllegalStateException_1('Unexpected predef type ' + predef);
    }
    return getFormat_0(pattern, new DateTimeFormatInfoImpl_en_0);
  }
  dtfi = $getDateTimeFormatInfo(($clinit_LocaleInfo() , $clinit_LocaleInfo() , instance_5));
  switch (predef.ordinal) {
    case 2:
      pattern = dtfi.dateFormatFull();
      break;
    case 3:
      pattern = dtfi.dateFormatLong();
      break;
    case 4:
      pattern = dtfi.dateFormatMedium();
      break;
    case 5:
      pattern = dtfi.dateFormatShort();
      break;
    case 10:
      pattern = $dateTimeFull(dtfi.timeFormatFull(), dtfi.dateFormatFull());
      break;
    case 11:
      pattern = $dateTimeLong(dtfi.timeFormatLong(), dtfi.dateFormatLong());
      break;
    case 12:
      pattern = $dateTimeMedium(dtfi.timeFormatMedium(), dtfi.dateFormatMedium());
      break;
    case 13:
      pattern = $dateTimeShort(dtfi.timeFormatShort(), dtfi.dateFormatShort());
      break;
    case 14:
      pattern = 'd';
      break;
    case 17:
      pattern = 'HH:mm';
      break;
    case 18:
      pattern = 'HH:mm:ss';
      break;
    case 15:
      pattern = 'h:mm a';
      break;
    case 16:
      pattern = 'h:mm:ss a';
      break;
    case 19:
      pattern = 'mm:ss';
      break;
    case 20:
      pattern = 'LLLL';
      break;
    case 21:
      pattern = 'LLL';
      break;
    case 22:
      pattern = 'MMM d';
      break;
    case 23:
      pattern = 'MMMM d';
      break;
    case 24:
      pattern = dtfi.formatMonthNumDay();
      break;
    case 25:
      pattern = dtfi.formatMonthFullWeekdayDay();
      break;
    case 6:
      pattern = dtfi.timeFormatFull();
      break;
    case 7:
      pattern = dtfi.timeFormatLong();
      break;
    case 8:
      pattern = dtfi.timeFormatMedium();
      break;
    case 9:
      pattern = dtfi.timeFormatShort();
      break;
    case 26:
      pattern = 'y';
      break;
    case 27:
      pattern = dtfi.formatYearMonthFull();
      break;
    case 28:
      pattern = dtfi.formatYearMonthAbbrev();
      break;
    case 29:
      pattern = dtfi.formatYearMonthAbbrevDay();
      break;
    case 30:
      pattern = dtfi.formatYearMonthFullDay();
      break;
    case 31:
      pattern = dtfi.formatYearMonthNum();
      break;
    case 32:
      pattern = dtfi.formatYearMonthNumDay();
      break;
    case 33:
      pattern = dtfi.formatYearMonthWeekdayDay();
      break;
    case 34:
      pattern = dtfi.formatYearQuarterFull();
      break;
    case 35:
      pattern = dtfi.formatYearQuarterShort();
      break;
    default:throw new IllegalArgumentException_0('Unexpected predefined format ' + predef);
  }
  return getFormat_0(pattern, dtfi);
}

function getFormat_0(pattern, dtfi){
  $clinit_DateTimeFormat_0();
  var defaultDtfi, dtf;
  defaultDtfi = $getDateTimeFormatInfo(($clinit_LocaleInfo() , $clinit_LocaleInfo() , instance_5));
  dtf = null;
  dtfi == defaultDtfi && (dtf = dynamicCast($get_8(cache_0, pattern), Q$DateTimeFormat));
  if (!dtf) {
    dtf = new DateTimeFormat_1(pattern);
    dtfi == defaultDtfi && $put_5(cache_0, pattern, dtf);
  }
  return dtf;
}

function usesFixedEnglishStrings(predef){
  switch (predef.ordinal) {
    case 0:
    case 1:
      return true;
    default:return false;
  }
}

defineSeed(428, 429, makeCastMap([Q$DateTimeFormat]), DateTimeFormat_1);
var cache_0 = null;
function $clinit_DateTimeFormat$PredefinedFormat(){
  $clinit_DateTimeFormat$PredefinedFormat = nullMethod;
  ISO_8601 = new DateTimeFormat$PredefinedFormat_0('ISO_8601', 0);
  RFC_2822 = new DateTimeFormat$PredefinedFormat_0('RFC_2822', 1);
  DATE_FULL = new DateTimeFormat$PredefinedFormat_0('DATE_FULL', 2);
  DATE_LONG = new DateTimeFormat$PredefinedFormat_0('DATE_LONG', 3);
  DATE_MEDIUM = new DateTimeFormat$PredefinedFormat_0('DATE_MEDIUM', 4);
  DATE_SHORT = new DateTimeFormat$PredefinedFormat_0('DATE_SHORT', 5);
  TIME_FULL = new DateTimeFormat$PredefinedFormat_0('TIME_FULL', 6);
  TIME_LONG = new DateTimeFormat$PredefinedFormat_0('TIME_LONG', 7);
  TIME_MEDIUM = new DateTimeFormat$PredefinedFormat_0('TIME_MEDIUM', 8);
  TIME_SHORT = new DateTimeFormat$PredefinedFormat_0('TIME_SHORT', 9);
  DATE_TIME_FULL = new DateTimeFormat$PredefinedFormat_0('DATE_TIME_FULL', 10);
  DATE_TIME_LONG = new DateTimeFormat$PredefinedFormat_0('DATE_TIME_LONG', 11);
  DATE_TIME_MEDIUM = new DateTimeFormat$PredefinedFormat_0('DATE_TIME_MEDIUM', 12);
  DATE_TIME_SHORT = new DateTimeFormat$PredefinedFormat_0('DATE_TIME_SHORT', 13);
  DAY = new DateTimeFormat$PredefinedFormat_0('DAY', 14);
  HOUR_MINUTE = new DateTimeFormat$PredefinedFormat_0('HOUR_MINUTE', 15);
  HOUR_MINUTE_SECOND = new DateTimeFormat$PredefinedFormat_0('HOUR_MINUTE_SECOND', 16);
  HOUR24_MINUTE = new DateTimeFormat$PredefinedFormat_0('HOUR24_MINUTE', 17);
  HOUR24_MINUTE_SECOND = new DateTimeFormat$PredefinedFormat_0('HOUR24_MINUTE_SECOND', 18);
  MINUTE_SECOND = new DateTimeFormat$PredefinedFormat_0('MINUTE_SECOND', 19);
  MONTH = new DateTimeFormat$PredefinedFormat_0('MONTH', 20);
  MONTH_ABBR = new DateTimeFormat$PredefinedFormat_0('MONTH_ABBR', 21);
  MONTH_ABBR_DAY = new DateTimeFormat$PredefinedFormat_0('MONTH_ABBR_DAY', 22);
  MONTH_DAY = new DateTimeFormat$PredefinedFormat_0('MONTH_DAY', 23);
  MONTH_NUM_DAY = new DateTimeFormat$PredefinedFormat_0('MONTH_NUM_DAY', 24);
  MONTH_WEEKDAY_DAY = new DateTimeFormat$PredefinedFormat_0('MONTH_WEEKDAY_DAY', 25);
  YEAR = new DateTimeFormat$PredefinedFormat_0('YEAR', 26);
  YEAR_MONTH = new DateTimeFormat$PredefinedFormat_0('YEAR_MONTH', 27);
  YEAR_MONTH_ABBR = new DateTimeFormat$PredefinedFormat_0('YEAR_MONTH_ABBR', 28);
  YEAR_MONTH_ABBR_DAY = new DateTimeFormat$PredefinedFormat_0('YEAR_MONTH_ABBR_DAY', 29);
  YEAR_MONTH_DAY = new DateTimeFormat$PredefinedFormat_0('YEAR_MONTH_DAY', 30);
  YEAR_MONTH_NUM = new DateTimeFormat$PredefinedFormat_0('YEAR_MONTH_NUM', 31);
  YEAR_MONTH_NUM_DAY = new DateTimeFormat$PredefinedFormat_0('YEAR_MONTH_NUM_DAY', 32);
  YEAR_MONTH_WEEKDAY_DAY = new DateTimeFormat$PredefinedFormat_0('YEAR_MONTH_WEEKDAY_DAY', 33);
  YEAR_QUARTER = new DateTimeFormat$PredefinedFormat_0('YEAR_QUARTER', 34);
  YEAR_QUARTER_ABBR = new DateTimeFormat$PredefinedFormat_0('YEAR_QUARTER_ABBR', 35);
  $VALUES_14 = initValues(_3Lcom_google_gwt_i18n_client_DateTimeFormat$PredefinedFormat_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$DateTimeFormat$PredefinedFormat, [ISO_8601, RFC_2822, DATE_FULL, DATE_LONG, DATE_MEDIUM, DATE_SHORT, TIME_FULL, TIME_LONG, TIME_MEDIUM, TIME_SHORT, DATE_TIME_FULL, DATE_TIME_LONG, DATE_TIME_MEDIUM, DATE_TIME_SHORT, DAY, HOUR_MINUTE, HOUR_MINUTE_SECOND, HOUR24_MINUTE, HOUR24_MINUTE_SECOND, MINUTE_SECOND, MONTH, MONTH_ABBR, MONTH_ABBR_DAY, MONTH_DAY, MONTH_NUM_DAY, MONTH_WEEKDAY_DAY, YEAR, YEAR_MONTH, YEAR_MONTH_ABBR, YEAR_MONTH_ABBR_DAY, YEAR_MONTH_DAY, YEAR_MONTH_NUM, YEAR_MONTH_NUM_DAY, YEAR_MONTH_WEEKDAY_DAY, YEAR_QUARTER, YEAR_QUARTER_ABBR]);
}

function DateTimeFormat$PredefinedFormat_0(enum$name, enum$ordinal){
  Enum_0.call(this, enum$name, enum$ordinal);
}

function values_15(){
  $clinit_DateTimeFormat$PredefinedFormat();
  return $VALUES_14;
}

defineSeed(430, 34, makeCastMap([Q$DateTimeFormat$PredefinedFormat, Q$Serializable, Q$Comparable, Q$Enum]), DateTimeFormat$PredefinedFormat_0);
var $VALUES_14, DATE_FULL, DATE_LONG, DATE_MEDIUM, DATE_SHORT, DATE_TIME_FULL, DATE_TIME_LONG, DATE_TIME_MEDIUM, DATE_TIME_SHORT, DAY, HOUR24_MINUTE, HOUR24_MINUTE_SECOND, HOUR_MINUTE, HOUR_MINUTE_SECOND, ISO_8601, MINUTE_SECOND, MONTH, MONTH_ABBR, MONTH_ABBR_DAY, MONTH_DAY, MONTH_NUM_DAY, MONTH_WEEKDAY_DAY, RFC_2822, TIME_FULL, TIME_LONG, TIME_MEDIUM, TIME_SHORT, YEAR, YEAR_MONTH, YEAR_MONTH_ABBR, YEAR_MONTH_ABBR_DAY, YEAR_MONTH_DAY, YEAR_MONTH_NUM, YEAR_MONTH_NUM_DAY, YEAR_MONTH_WEEKDAY_DAY, YEAR_QUARTER, YEAR_QUARTER_ABBR;
function $dateTimeFull(timePattern, datePattern){
  return datePattern + ' ' + timePattern;
}

function $dateTimeLong(timePattern, datePattern){
  return datePattern + ' ' + timePattern;
}

function $dateTimeMedium(timePattern, datePattern){
  return datePattern + ' ' + timePattern;
}

function $dateTimeShort(timePattern, datePattern){
  return datePattern + ' ' + timePattern;
}

defineSeed(432, 1, {});
_.dateFormatFull = function dateFormatFull(){
  return 'EEEE, y MMMM dd';
}
;
_.dateFormatLong = function dateFormatLong(){
  return 'y MMMM d';
}
;
_.dateFormatMedium = function dateFormatMedium(){
  return 'y MMM d';
}
;
_.dateFormatShort = function dateFormatShort(){
  return 'yyyy-MM-dd';
}
;
_.firstDayOfTheWeek = function firstDayOfTheWeek(){
  return 1;
}
;
_.formatMonthFullWeekdayDay = function formatMonthFullWeekdayDay(){
  return 'EEEE MMMM d';
}
;
_.formatMonthNumDay = function formatMonthNumDay(){
  return 'M-d';
}
;
_.formatYearMonthAbbrev = function formatYearMonthAbbrev(){
  return 'y MMM';
}
;
_.formatYearMonthAbbrevDay = function formatYearMonthAbbrevDay(){
  return 'y MMM d';
}
;
_.formatYearMonthFull = function formatYearMonthFull(){
  return 'y MMMM';
}
;
_.formatYearMonthFullDay = function formatYearMonthFullDay(){
  return 'y MMMM d';
}
;
_.formatYearMonthNum = function formatYearMonthNum(){
  return 'y-M';
}
;
_.formatYearMonthNumDay = function formatYearMonthNumDay(){
  return 'y-M-d';
}
;
_.formatYearMonthWeekdayDay = function formatYearMonthWeekdayDay(){
  return 'EEE, y MMM d';
}
;
_.formatYearQuarterFull = function formatYearQuarterFull(){
  return 'y QQQQ';
}
;
_.formatYearQuarterShort = function formatYearQuarterShort(){
  return 'y Q';
}
;
_.timeFormatFull = function timeFormatFull(){
  return 'HH:mm:ss zzzz';
}
;
_.timeFormatLong = function timeFormatLong(){
  return 'HH:mm:ss z';
}
;
_.timeFormatMedium = function timeFormatMedium(){
  return 'HH:mm:ss';
}
;
_.timeFormatShort = function timeFormatShort(){
  return 'HH:mm';
}
;
defineSeed(431, 432, {});
function $clinit_HasDirection$Direction(){
  $clinit_HasDirection$Direction = nullMethod;
  RTL = new HasDirection$Direction_0('RTL', 0);
  LTR = new HasDirection$Direction_0('LTR', 1);
  DEFAULT = new HasDirection$Direction_0('DEFAULT', 2);
  $VALUES_15 = initValues(_3Lcom_google_gwt_i18n_client_HasDirection$Direction_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$HasDirection$Direction, [RTL, LTR, DEFAULT]);
}

function HasDirection$Direction_0(enum$name, enum$ordinal){
  Enum_0.call(this, enum$name, enum$ordinal);
}

function values_16(){
  $clinit_HasDirection$Direction();
  return $VALUES_15;
}

defineSeed(433, 34, makeCastMap([Q$HasDirection$Direction, Q$Serializable, Q$Comparable, Q$Enum]), HasDirection$Direction_0);
var $VALUES_15, DEFAULT, LTR, RTL;
function $clinit_LocaleInfo(){
  $clinit_LocaleInfo = nullMethod;
  instance_5 = new LocaleInfo_0;
}

function $getDateTimeFormatInfo(this$static){
  !this$static.dateTimeFormatInfo && (this$static.dateTimeFormatInfo = new DateTimeFormatInfoImpl_0);
  return this$static.dateTimeFormatInfo;
}

function $getNumberConstants(this$static){
  !this$static.numberConstants && (this$static.numberConstants = new NumberConstantsImpl__0);
  return this$static.numberConstants;
}

function LocaleInfo_0(){
}

defineSeed(434, 1, {}, LocaleInfo_0);
_.dateTimeFormatInfo = null;
_.numberConstants = null;
var instance_5;
function $clinit_NumberFormat(){
  $clinit_NumberFormat = nullMethod;
  $getNumberConstants(($clinit_LocaleInfo() , $clinit_LocaleInfo() , instance_5));
}

function $addExponent(this$static, digits){
  var exponentDigits, i;
  digits.impl.string += 'E';
  if (this$static.exponent < 0) {
    this$static.exponent = -this$static.exponent;
    digits.impl.string += '-';
  }
  exponentDigits = '' + this$static.exponent;
  for (i = exponentDigits.length; i < this$static.minExponentDigits; ++i) {
    digits.impl.string += '0';
  }
  $append_1(digits.impl, exponentDigits);
}

function $addZeroAndDecimal(this$static, digits){
  if (this$static.digitsLength == 0) {
    $replace(digits.impl, 0, 0, '0');
    ++this$static.decimalPosition;
    ++this$static.digitsLength;
  }
  if (this$static.decimalPosition < this$static.digitsLength || this$static.decimalSeparatorAlwaysShown) {
    $insert_10(digits, this$static.decimalPosition, '.');
    ++this$static.digitsLength;
  }
}

function $adjustFractionDigits(this$static, digits){
  var requiredDigits, toRemove;
  requiredDigits = this$static.decimalPosition + this$static.minimumFractionDigits;
  if (this$static.digitsLength < requiredDigits) {
    while (this$static.digitsLength < requiredDigits) {
      digits.impl.string += '0';
      ++this$static.digitsLength;
    }
  }
   else {
    toRemove = this$static.decimalPosition + this$static.maximumFractionDigits;
    toRemove > this$static.digitsLength && (toRemove = this$static.digitsLength);
    while (toRemove > requiredDigits && $charAt(digits.impl.string, toRemove - 1) == 48) {
      --toRemove;
    }
    if (toRemove < this$static.digitsLength) {
      $delete_0(digits, toRemove, this$static.digitsLength);
      this$static.digitsLength = toRemove;
    }
  }
}

function $computeExponent(this$static, digits){
  var remainder, strip;
  strip = 0;
  while (strip < this$static.digitsLength - 1 && $charAt(digits.impl.string, strip) == 48) {
    ++strip;
  }
  if (strip > 0) {
    $replace(digits.impl, 0, strip, '');
    this$static.digitsLength -= strip;
    this$static.exponent -= strip;
  }
  if (this$static.maximumIntegerDigits > this$static.minimumIntegerDigits && this$static.maximumIntegerDigits > 0) {
    this$static.exponent += this$static.decimalPosition - 1;
    remainder = this$static.exponent % this$static.maximumIntegerDigits;
    remainder < 0 && (remainder += this$static.maximumIntegerDigits);
    this$static.decimalPosition = remainder + 1;
    this$static.exponent -= remainder;
  }
   else {
    this$static.exponent += this$static.decimalPosition - this$static.minimumIntegerDigits;
    this$static.decimalPosition = this$static.minimumIntegerDigits;
  }
  if (this$static.digitsLength == 1 && digits.impl.string.charCodeAt(0) == 48) {
    this$static.exponent = 0;
    this$static.decimalPosition = this$static.minimumIntegerDigits;
  }
}

function $format_0(this$static, number){
  var buf, isNegative, preRound, scale, useExponent, currentGroupingSize;
  if (isNaN(number)) {
    return 'NaN';
  }
  isNegative = number < 0 || number == 0 && 1 / number < 0;
  isNegative && (number = -number);
  buf = new StringBuilder_0;
  if (!isFinite(number)) {
    $append_6(buf, isNegative?this$static.negativePrefix:this$static.positivePrefix);
    buf.impl.string += '\u221E';
    $append_6(buf, isNegative?this$static.negativeSuffix:this$static.positiveSuffix);
    return buf.impl.string;
  }
  number *= this$static.multiplier;
  scale = toScaledString(buf, number);
  preRound = buf.impl.string.length + scale + this$static.maximumFractionDigits + 3;
  if (preRound > 0 && preRound < buf.impl.string.length && $charAt(buf.impl.string, preRound) == 57) {
    $propagateCarry(this$static, buf, preRound - 1);
    scale += buf.impl.string.length - preRound;
    $delete_0(buf, preRound, buf.impl.string.length);
  }
  this$static.exponent = 0;
  this$static.digitsLength = buf.impl.string.length;
  this$static.decimalPosition = this$static.digitsLength + scale;
  useExponent = this$static.useExponentialNotation;
  currentGroupingSize = this$static.groupingSize;
  this$static.decimalPosition > 1024 && (useExponent = true);
  useExponent && $computeExponent(this$static, buf);
  $processLeadingZeros(this$static, buf);
  $roundValue(this$static, buf);
  $insertGroupingSeparators(this$static, buf, currentGroupingSize);
  $adjustFractionDigits(this$static, buf);
  $addZeroAndDecimal(this$static, buf);
  useExponent && $addExponent(this$static, buf);
  $insert_10(buf, 0, isNegative?this$static.negativePrefix:this$static.positivePrefix);
  $append_6(buf, isNegative?this$static.negativeSuffix:this$static.positiveSuffix);
  return buf.impl.string;
}

function $insertGroupingSeparators(this$static, digits, g){
  var i;
  if (g > 0) {
    for (i = g; i < this$static.decimalPosition; i += g + 1) {
      $insert_10(digits, this$static.decimalPosition - i, ',');
      ++this$static.decimalPosition;
      ++this$static.digitsLength;
    }
  }
}

function $parseAffix(this$static, pattern, start, affix, inNegativePattern){
  var ch, inQuote, len, pos;
  $delete(affix, affix.impl.string.length);
  inQuote = false;
  len = pattern.length;
  for (pos = start; pos < len; ++pos) {
    ch = pattern.charCodeAt(pos);
    if (ch == 39) {
      if (pos + 1 < len && pattern.charCodeAt(pos + 1) == 39) {
        ++pos;
        affix.impl.string += "'";
      }
       else {
        inQuote = !inQuote;
      }
      continue;
    }
    if (inQuote) {
      $appendNonNull(affix.impl, String.fromCharCode(ch));
    }
     else {
      switch (ch) {
        case 35:
        case 48:
        case 44:
        case 46:
        case 59:
          return pos - start;
        case 164:
          this$static.isCurrencyFormat = true;
          if (pos + 1 < len && pattern.charCodeAt(pos + 1) == 164) {
            ++pos;
            if (pos < len - 3 && pattern.charCodeAt(pos + 1) == 164 && pattern.charCodeAt(pos + 2) == 164) {
              pos += 2;
              $append_4(affix, $getSimpleCurrencySymbol(this$static.currencyData));
            }
             else {
              $append_4(affix, this$static.currencyData[0]);
            }
          }
           else {
            $append_4(affix, this$static.currencyData[1]);
          }

          break;
        case 37:
          if (!inNegativePattern) {
            if (this$static.multiplier != 1) {
              throw new IllegalArgumentException_0('Too many percent/per mille characters in pattern "' + pattern + '"');
            }
            this$static.multiplier = 100;
          }

          affix.impl.string += '%';
          break;
        case 8240:
          if (!inNegativePattern) {
            if (this$static.multiplier != 1) {
              throw new IllegalArgumentException_0('Too many percent/per mille characters in pattern "' + pattern + '"');
            }
            this$static.multiplier = 1000;
          }

          affix.impl.string += '\u2030';
          break;
        case 45:
          affix.impl.string += '-';
          break;
        default:$appendNonNull(affix.impl, String.fromCharCode(ch));
      }
    }
  }
  return len - start;
}

function $parsePattern_0(this$static, pattern){
  var affix, pos;
  pos = 0;
  affix = new StringBuffer_0;
  pos += $parseAffix(this$static, pattern, 0, affix, false);
  this$static.positivePrefix = affix.impl.string;
  pos += $parseTrunk(this$static, pattern, pos, false);
  pos += $parseAffix(this$static, pattern, pos, affix, false);
  this$static.positiveSuffix = affix.impl.string;
  if (pos < pattern.length && pattern.charCodeAt(pos) == 59) {
    ++pos;
    pos += $parseAffix(this$static, pattern, pos, affix, true);
    this$static.negativePrefix = affix.impl.string;
    pos += $parseTrunk(this$static, pattern, pos, true);
    pos += $parseAffix(this$static, pattern, pos, affix, true);
    this$static.negativeSuffix = affix.impl.string;
  }
   else {
    this$static.negativePrefix = '-' + this$static.positivePrefix;
    this$static.negativeSuffix = this$static.positiveSuffix;
  }
}

--></script>
<script><!--
function $parseTrunk(this$static, pattern, start, ignorePattern){
  var ch, decimalPos, digitLeftCount, digitRightCount, effectiveDecimalPos, groupingCount, len, loop, n, pos, totalDigits, zeroDigitCount;
  decimalPos = -1;
  digitLeftCount = 0;
  zeroDigitCount = 0;
  digitRightCount = 0;
  groupingCount = -1;
  len = pattern.length;
  pos = start;
  loop = true;
  for (; pos < len && loop; ++pos) {
    ch = pattern.charCodeAt(pos);
    switch (ch) {
      case 35:
        zeroDigitCount > 0?++digitRightCount:++digitLeftCount;
        groupingCount >= 0 && decimalPos < 0 && ++groupingCount;
        break;
      case 48:
        if (digitRightCount > 0) {
          throw new IllegalArgumentException_0("Unexpected '0' in pattern \"" + pattern + '"');
        }

        ++zeroDigitCount;
        groupingCount >= 0 && decimalPos < 0 && ++groupingCount;
        break;
      case 44:
        groupingCount = 0;
        break;
      case 46:
        if (decimalPos >= 0) {
          throw new IllegalArgumentException_0('Multiple decimal separators in pattern "' + pattern + '"');
        }

        decimalPos = digitLeftCount + zeroDigitCount + digitRightCount;
        break;
      case 69:
        if (!ignorePattern) {
          if (this$static.useExponentialNotation) {
            throw new IllegalArgumentException_0('Multiple exponential symbols in pattern "' + pattern + '"');
          }
          this$static.useExponentialNotation = true;
          this$static.minExponentDigits = 0;
        }

        while (pos + 1 < len && pattern.charCodeAt(pos + 1) == 48) {
          ++pos;
          ignorePattern || ++this$static.minExponentDigits;
        }

        if (!ignorePattern && digitLeftCount + zeroDigitCount < 1 || this$static.minExponentDigits < 1) {
          throw new IllegalArgumentException_0('Malformed exponential pattern "' + pattern + '"');
        }

        loop = false;
        break;
      default:--pos;
        loop = false;
    }
  }
  if (zeroDigitCount == 0 && digitLeftCount > 0 && decimalPos >= 0) {
    n = decimalPos;
    decimalPos == 0 && ++n;
    digitRightCount = digitLeftCount - n;
    digitLeftCount = n - 1;
    zeroDigitCount = 1;
  }
  if (decimalPos < 0 && digitRightCount > 0 || decimalPos >= 0 && (decimalPos < digitLeftCount || decimalPos > digitLeftCount + zeroDigitCount) || groupingCount == 0) {
    throw new IllegalArgumentException_0('Malformed pattern "' + pattern + '"');
  }
  if (ignorePattern) {
    return pos - start;
  }
  totalDigits = digitLeftCount + zeroDigitCount + digitRightCount;
  this$static.maximumFractionDigits = decimalPos >= 0?totalDigits - decimalPos:0;
  if (decimalPos >= 0) {
    this$static.minimumFractionDigits = digitLeftCount + zeroDigitCount - decimalPos;
    this$static.minimumFractionDigits < 0 && (this$static.minimumFractionDigits = 0);
  }
  effectiveDecimalPos = decimalPos >= 0?decimalPos:totalDigits;
  this$static.minimumIntegerDigits = effectiveDecimalPos - digitLeftCount;
  if (this$static.useExponentialNotation) {
    this$static.maximumIntegerDigits = digitLeftCount + this$static.minimumIntegerDigits;
    this$static.maximumFractionDigits == 0 && this$static.minimumIntegerDigits == 0 && (this$static.minimumIntegerDigits = 1);
  }
  this$static.groupingSize = groupingCount > 0?groupingCount:0;
  this$static.decimalSeparatorAlwaysShown = decimalPos == 0 || decimalPos == totalDigits;
  return pos - start;
}

function $processLeadingZeros(this$static, digits){
  var i, prefix, strip;
  if (this$static.decimalPosition > this$static.digitsLength) {
    while (this$static.digitsLength < this$static.decimalPosition) {
      digits.impl.string += '0';
      ++this$static.digitsLength;
    }
  }
  if (!this$static.useExponentialNotation) {
    if (this$static.decimalPosition < this$static.minimumIntegerDigits) {
      prefix = new StringBuilder_0;
      while (this$static.decimalPosition < this$static.minimumIntegerDigits) {
        prefix.impl.string += '0';
        ++this$static.decimalPosition;
        ++this$static.digitsLength;
      }
      $insert_10(digits, 0, prefix.impl.string);
    }
     else if (this$static.decimalPosition > this$static.minimumIntegerDigits) {
      strip = this$static.decimalPosition - this$static.minimumIntegerDigits;
      for (i = 0; i < strip; ++i) {
        if ($charAt(digits.impl.string, i) != 48) {
          strip = i;
          break;
        }
      }
      if (strip > 0) {
        $replace(digits.impl, 0, strip, '');
        this$static.digitsLength -= strip;
        this$static.decimalPosition -= strip;
      }
    }
  }
}

function $propagateCarry(this$static, digits, i){
  var carry, digit;
  carry = true;
  while (carry && i >= 0) {
    digit = $charAt(digits.impl.string, i);
    if (digit == 57) {
      $setCharAt(digits, i--, 48);
    }
     else {
      $setCharAt(digits, i, digit + 1 & 65535);
      carry = false;
    }
  }
  if (carry) {
    $replace(digits.impl, 0, 0, '1');
    ++this$static.decimalPosition;
    ++this$static.digitsLength;
  }
}

function $roundValue(this$static, digits){
  var i;
  if (this$static.digitsLength > this$static.decimalPosition + this$static.maximumFractionDigits && $charAt_0(digits, this$static.decimalPosition + this$static.maximumFractionDigits) >= 53) {
    i = this$static.decimalPosition + this$static.maximumFractionDigits - 1;
    $propagateCarry(this$static, digits, i);
  }
}

function NumberFormat_0(pattern, cdata, userSuppliedPattern){
  if (!cdata) {
    throw new IllegalArgumentException_0('Unknown currency code');
  }
  this.pattern = pattern;
  this.currencyData = cdata;
  $parsePattern_0(this, this.pattern);
  if (!userSuppliedPattern && this.isCurrencyFormat) {
    this.minimumFractionDigits = this.currencyData[2] & 7;
    this.maximumFractionDigits = this.minimumFractionDigits;
  }
}

function NumberFormat_1(pattern, cdata, userSuppliedPattern){
  $clinit_NumberFormat();
  NumberFormat_0.call(this, pattern, cdata, userSuppliedPattern);
}

function toScaledString(buf, val){
  var dot, expDigits, expIdx, scale, startLen;
  startLen = buf.impl.string.length;
  $append_6(buf, val.toPrecision(20));
  scale = 0;
  expIdx = $indexOf_4(buf.impl.string, 'e', startLen);
  expIdx < 0 && (expIdx = $indexOf_4(buf.impl.string, 'E', startLen));
  if (expIdx >= 0) {
    expDigits = expIdx + 1;
    expDigits < buf.impl.string.length && $charAt(buf.impl.string, expDigits) == 43 && ++expDigits;
    expDigits < buf.impl.string.length && (scale = __parseAndValidateInt($substring(buf.impl.string, expDigits), 10));
    $delete_0(buf, expIdx, buf.impl.string.length);
  }
  dot = $indexOf_4(buf.impl.string, '.', startLen);
  if (dot >= 0) {
    $replace(buf.impl, dot, dot + 1, '');
    scale -= buf.impl.string.length - dot;
  }
  return scale;
}

defineSeed(435, 1, {}, NumberFormat_1);
_.currencyData = null;
_.decimalPosition = 0;
_.decimalSeparatorAlwaysShown = false;
_.digitsLength = 0;
_.exponent = 0;
_.groupingSize = 3;
_.isCurrencyFormat = false;
_.maximumFractionDigits = 3;
_.maximumIntegerDigits = 40;
_.minExponentDigits = 0;
_.minimumFractionDigits = 0;
_.minimumIntegerDigits = 1;
_.multiplier = 1;
_.negativePrefix = '-';
_.negativeSuffix = '';
_.pattern = null;
_.positivePrefix = '';
_.positiveSuffix = '';
_.useExponentialNotation = false;
var cachedCurrencyFormat = null, cachedDecimalFormat = null, cachedScientificFormat = null;
function $getISOTimeZoneString(this$static){
  var data, offset;
  offset = -this$static.standardOffset;
  data = initValues(_3C_classLit, makeCastMap([Q$Serializable]), -1, [43, 48, 48, 58, 48, 48]);
  if (offset < 0) {
    data[0] = 45;
    offset = -offset;
  }
  data[1] = data[1] + ~~(~~(offset / 60) / 10) & 65535;
  data[2] = data[2] + ~~(offset / 60) % 10 & 65535;
  data[4] = data[4] + ~~(offset % 60 / 10) & 65535;
  data[5] = data[5] + offset % 10 & 65535;
  return valueOf_0(data);
}

function $getRFCTimeZoneString(this$static){
  var data, offset;
  offset = -this$static.standardOffset;
  data = initValues(_3C_classLit, makeCastMap([Q$Serializable]), -1, [43, 48, 48, 48, 48]);
  if (offset < 0) {
    data[0] = 45;
    offset = -offset;
  }
  data[1] = data[1] + ~~(~~(offset / 60) / 10) & 65535;
  data[2] = data[2] + ~~(offset / 60) % 10 & 65535;
  data[3] = data[3] + ~~(offset % 60 / 10) & 65535;
  data[4] = data[4] + offset % 10 & 65535;
  return valueOf_0(data);
}

function TimeZone_0(){
}

function composeGMTString(offset){
  var data;
  data = initValues(_3C_classLit, makeCastMap([Q$Serializable]), -1, [71, 77, 84, 45, 48, 48, 58, 48, 48]);
  if (offset <= 0) {
    data[3] = 43;
    offset = -offset;
  }
  data[4] = data[4] + ~~(~~(offset / 60) / 10) & 65535;
  data[5] = data[5] + ~~(offset / 60) % 10 & 65535;
  data[7] = data[7] + ~~(offset % 60 / 10) & 65535;
  data[8] = data[8] + offset % 10 & 65535;
  return valueOf_0(data);
}

function composePOSIXTimeZoneID(offset){
  var str;
  if (offset == 0) {
    return 'Etc/GMT';
  }
  if (offset < 0) {
    offset = -offset;
    str = 'Etc/GMT-';
  }
   else {
    str = 'Etc/GMT+';
  }
  return str + offsetDisplay(offset);
}

function composeUTCString(offset){
  var str;
  if (offset == 0) {
    return 'UTC';
  }
  if (offset < 0) {
    offset = -offset;
    str = 'UTC+';
  }
   else {
    str = 'UTC-';
  }
  return str + offsetDisplay(offset);
}

function createTimeZone(timeZoneOffsetInMinutes){
  var tz;
  tz = new TimeZone_0;
  tz.standardOffset = timeZoneOffsetInMinutes;
  tz.timezoneID = composePOSIXTimeZoneID(timeZoneOffsetInMinutes);
  tz.tzNames = initDim(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, 2, 0);
  tz.tzNames[0] = composeUTCString(timeZoneOffsetInMinutes);
  tz.tzNames[1] = composeUTCString(timeZoneOffsetInMinutes);
  return tz;
}

function offsetDisplay(offset){
  var hour, mins;
  hour = ~~(offset / 60);
  mins = offset % 60;
  if (mins == 0) {
    return '' + hour;
  }
  return '' + hour + ':' + mins;
}

defineSeed(436, 1, {}, TimeZone_0);
_.standardOffset = 0;
_.timezoneID = null;
_.tzNames = null;
function NumberConstantsImpl__0(){
}

defineSeed(437, 1, {}, NumberConstantsImpl__0);
function $getSimpleCurrencySymbol(this$static){
  return this$static[4] || this$static[1];
}

function DateTimeFormatInfoImpl_0(){
}

defineSeed(439, 431, {}, DateTimeFormatInfoImpl_0);
function DateTimeFormatInfoImpl_en_0(){
}

defineSeed(440, 439, {}, DateTimeFormatInfoImpl_en_0);
_.dateFormatFull = function dateFormatFull_0(){
  return 'EEEE, MMMM d, y';
}
;
_.dateFormatLong = function dateFormatLong_0(){
  return 'MMMM d, y';
}
;
_.dateFormatMedium = function dateFormatMedium_0(){
  return 'MMM d, y';
}
;
_.dateFormatShort = function dateFormatShort_0(){
  return 'M/d/yy';
}
;
_.firstDayOfTheWeek = function firstDayOfTheWeek_0(){
  return 0;
}
;
_.formatMonthFullWeekdayDay = function formatMonthFullWeekdayDay_0(){
  return 'EEEE, MMMM d';
}
;
_.formatMonthNumDay = function formatMonthNumDay_0(){
  return 'M/d';
}
;
_.formatYearMonthAbbrev = function formatYearMonthAbbrev_0(){
  return 'MMM y';
}
;
_.formatYearMonthAbbrevDay = function formatYearMonthAbbrevDay_0(){
  return 'MMM d, y';
}
;
_.formatYearMonthFull = function formatYearMonthFull_0(){
  return 'MMMM y';
}
;
_.formatYearMonthFullDay = function formatYearMonthFullDay_0(){
  return 'MMMM d, y';
}
;
_.formatYearMonthNum = function formatYearMonthNum_0(){
  return 'M/y';
}
;
_.formatYearMonthNumDay = function formatYearMonthNumDay_0(){
  return 'M/d/y';
}
;
_.formatYearMonthWeekdayDay = function formatYearMonthWeekdayDay_0(){
  return 'EEE, MMM d, y';
}
;
_.formatYearQuarterFull = function formatYearQuarterFull_0(){
  return 'QQQQ y';
}
;
_.formatYearQuarterShort = function formatYearQuarterShort_0(){
  return 'Q y';
}
;
_.timeFormatFull = function timeFormatFull_0(){
  return 'h:mm:ss a zzzz';
}
;
_.timeFormatLong = function timeFormatLong_0(){
  return 'h:mm:ss a z';
}
;
_.timeFormatMedium = function timeFormatMedium_0(){
  return 'h:mm:ss a';
}
;
_.timeFormatShort = function timeFormatShort_0(){
  return 'h:mm a';
}
;
function DateTimeFormat$PatternPart_0(txt, cnt){
  this.text_0 = txt;
  this.count = cnt;
  this.abutStart = false;
}

defineSeed(441, 1, makeCastMap([Q$DateTimeFormat$PatternPart]), DateTimeFormat$PatternPart_0);
_.abutStart = false;
_.count = 0;
_.text_0 = null;
function $compareTo_1(this$static, other){
  return signum(sub_0(fromDouble(this$static.jsdate.getTime()), fromDouble(other.jsdate.getTime())));
}

function $fixDaylightSavings(this$static, hours){
  var badHours, copy, day, newTime, timeDiff, timeDiffHours, timeDiffMinutes;
  if (this$static.jsdate.getHours() % 24 != hours % 24) {
    copy = create_0(this$static.jsdate.getTime());
    $setDate(copy, copy.getDate() + 1);
    timeDiff = this$static.jsdate.getTimezoneOffset() - copy.getTimezoneOffset();
    if (timeDiff > 0) {
      timeDiffHours = ~~(timeDiff / 60);
      timeDiffMinutes = timeDiff % 60;
      day = this$static.jsdate.getDate();
      badHours = this$static.jsdate.getHours();
      badHours + timeDiffHours >= 24 && ++day;
      newTime = create_1(this$static.jsdate.getFullYear(), this$static.jsdate.getMonth(), day, hours + timeDiffHours, this$static.jsdate.getMinutes() + timeDiffMinutes, this$static.jsdate.getSeconds(), this$static.jsdate.getMilliseconds());
      $setTime(this$static.jsdate, newTime.getTime());
    }
  }
}

function $setDate_0(this$static, date){
  var hours;
  hours = this$static.jsdate.getHours();
  $setDate(this$static.jsdate, date);
  $fixDaylightSavings(this$static, hours);
}

function $setTime_0(this$static, time){
  $setTime(this$static.jsdate, toDouble(time));
}

function Date_1(){
  this.jsdate = new Date;
}

function Date_2(year, month, date){
  this.jsdate = new Date;
  $setFullYear_0(this.jsdate, year + 1900, month, date);
  $setHours_0(this.jsdate, 0, 0, 0, 0);
  $fixDaylightSavings(this, 0);
}

function Date_3(date){
  this.jsdate = create_0(toDouble(date));
}

function padTwo(number){
  return number < 10?'0' + number:'' + number;
}

defineSeed(443, 1, makeCastMap([Q$Serializable, Q$Comparable, Q$Date]), Date_1, Date_2, Date_3);
_.compareTo$ = function compareTo_1(other){
  return $compareTo_1(this, dynamicCast(other, Q$Date));
}
;
_.equals$ = function equals_9(obj){
  return instanceOf(obj, Q$Date) && eq(fromDouble(this.jsdate.getTime()), fromDouble(dynamicCast(obj, Q$Date).jsdate.getTime()));
}
;
_.hashCode$ = function hashCode_8(){
  var time;
  time = fromDouble(this.jsdate.getTime());
  return toInt(xor(time, shru(time, 32)));
}
;
_.setHours_0 = function setHours(hours){
  $setHours(this.jsdate, hours);
  $fixDaylightSavings(this, hours);
}
;
_.setMinutes_0 = function setMinutes(minutes){
  var hours;
  hours = this.jsdate.getHours() + ~~(minutes / 60);
  $setMinutes(this.jsdate, minutes);
  $fixDaylightSavings(this, hours);
}
;
_.setMonth_0 = function setMonth(month){
  var hours;
  hours = this.jsdate.getHours();
  $setMonth(this.jsdate, month);
  $fixDaylightSavings(this, hours);
}
;
_.setSeconds_0 = function setSeconds(seconds){
  var hours;
  hours = this.jsdate.getHours() + ~~(seconds / 3600);
  $setSeconds(this.jsdate, seconds);
  $fixDaylightSavings(this, hours);
}
;
_.setYear = function setYear(year){
  var hours;
  hours = this.jsdate.getHours();
  $setFullYear(this.jsdate, year + 1900);
  $fixDaylightSavings(this, hours);
}
;
_.toString$ = function toString_17(){
  var hourOffset, minuteOffset, offset;
  offset = -this.jsdate.getTimezoneOffset();
  hourOffset = (offset >= 0?'+':'') + ~~(offset / 60);
  minuteOffset = (offset < 0?-offset:offset) % 60 < 10?'0' + (offset < 0?-offset:offset) % 60:'' + (offset < 0?-offset:offset) % 60;
  return ($clinit_Date$StringData() , DAYS)[this.jsdate.getDay()] + ' ' + MONTHS[this.jsdate.getMonth()] + ' ' + padTwo(this.jsdate.getDate()) + ' ' + padTwo(this.jsdate.getHours()) + ':' + padTwo(this.jsdate.getMinutes()) + ':' + padTwo(this.jsdate.getSeconds()) + ' GMT' + hourOffset + minuteOffset + ' ' + this.jsdate.getFullYear();
}
;
_.jsdate = null;
function $calcDate(this$static, date){
  var adjustment, daysInCurrentMonth, defaultCenturyStart, offset, orgDayOfMonth, orgMonth, tmp;
  this$static.era == 0 && this$static.year > 0 && (this$static.year = -(this$static.year - 1));
  this$static.year > -2147483648 && date.setYear(this$static.year - 1900);
  orgDayOfMonth = date.jsdate.getDate();
  $setDate_0(date, 1);
  this$static.month >= 0 && date.setMonth_0(this$static.month);
  if (this$static.dayOfMonth >= 0) {
    $setDate_0(date, this$static.dayOfMonth);
  }
   else if (this$static.month >= 0) {
    tmp = new Date_2(date.jsdate.getFullYear() - 1900, date.jsdate.getMonth(), 35);
    daysInCurrentMonth = 35 - tmp.jsdate.getDate();
    $setDate_0(date, daysInCurrentMonth < orgDayOfMonth?daysInCurrentMonth:orgDayOfMonth);
  }
   else {
    $setDate_0(date, orgDayOfMonth);
  }
  this$static.hours < 0 && (this$static.hours = date.jsdate.getHours());
  this$static.ampm > 0 && this$static.hours < 12 && (this$static.hours += 12);
  date.setHours_0(this$static.hours);
  this$static.minutes >= 0 && date.setMinutes_0(this$static.minutes);
  this$static.seconds >= 0 && date.setSeconds_0(this$static.seconds);
  this$static.milliseconds >= 0 && $setTime_0(date, add_2(mul(div_0(fromDouble(date.jsdate.getTime()), P3e8_longLit), P3e8_longLit), fromInt(this$static.milliseconds)));
  if (this$static.ambiguousYear) {
    defaultCenturyStart = new Date_1;
    defaultCenturyStart.setYear(defaultCenturyStart.jsdate.getFullYear() - 1900 - 80);
    lt(fromDouble(date.jsdate.getTime()), fromDouble(defaultCenturyStart.jsdate.getTime())) && date.setYear(defaultCenturyStart.jsdate.getFullYear() - 1900 + 100);
  }
  if (this$static.dayOfWeek >= 0) {
    if (this$static.dayOfMonth == -1) {
      adjustment = (7 + this$static.dayOfWeek - date.jsdate.getDay()) % 7;
      adjustment > 3 && (adjustment -= 7);
      orgMonth = date.jsdate.getMonth();
      $setDate_0(date, date.jsdate.getDate() + adjustment);
      date.jsdate.getMonth() != orgMonth && $setDate_0(date, date.jsdate.getDate() + (adjustment > 0?-7:7));
    }
     else {
      if (date.jsdate.getDay() != this$static.dayOfWeek) {
        return false;
      }
    }
  }
  if (this$static.tzOffset > -2147483648) {
    offset = date.jsdate.getTimezoneOffset();
    $setTime_0(date, add_2(fromDouble(date.jsdate.getTime()), fromInt((this$static.tzOffset - offset) * 60 * 1000)));
  }
  return true;
}

function DateRecord_0(){
  Date_1.call(this);
  this.era = -1;
  this.ambiguousYear = false;
  this.year = -2147483648;
  this.month = -1;
  this.dayOfMonth = -1;
  this.ampm = -1;
  this.hours = -1;
  this.minutes = -1;
  this.seconds = -1;
  this.milliseconds = -1;
  this.dayOfWeek = -1;
  this.tzOffset = -2147483648;
}

defineSeed(442, 443, makeCastMap([Q$Serializable, Q$Comparable, Q$Date]), DateRecord_0);
_.setHours_0 = function setHours_0(hours){
  this.hours = hours;
}
;
_.setMinutes_0 = function setMinutes_0(minutes){
  this.minutes = minutes;
}
;
_.setMonth_0 = function setMonth_0(month){
  this.month = month;
}
;
_.setSeconds_0 = function setSeconds_0(seconds){
  this.seconds = seconds;
}
;
_.setYear = function setYear_0(value){
  this.year = value;
}
;
_.ambiguousYear = false;
_.ampm = 0;
_.dayOfMonth = 0;
_.dayOfWeek = 0;
_.era = 0;
_.hours = 0;
_.milliseconds = 0;
_.minutes = 0;
_.month = 0;
_.seconds = 0;
_.tzOffset = 0;
_.year = 0;
defineSeed(445, 1, {});
_.isArray_0 = function isArray_0(){
  return null;
}
;
_.isBoolean = function isBoolean(){
  return null;
}
;
_.isNull = function isNull(){
  return null;
}
;
_.isNumber = function isNumber(){
  return null;
}
;
_.isObject = function isObject(){
  return null;
}
;
_.isString = function isString(){
  return null;
}
;
function $get_3(this$static, index){
  var v = this$static.jsArray[index];
  var func = ($clinit_JSONParser() , typeMap)[typeof v];
  return func?func(v):throwUnknownTypeException(typeof v);
}

function $set_10(this$static, index, value){
  var previous;
  previous = $get_3(this$static, index);
  $set0(this$static, index, value);
  return previous;
}

function $set0(this$static, index, value){
  if (value) {
    var func = value.getUnwrapper();
    value = func(value);
  }
   else {
    value = undefined;
  }
  this$static.jsArray[index] = value;
}

function JSONArray_0(){
  this.jsArray = [];
}

function JSONArray_1(arr){
  this.jsArray = arr;
}

function unwrap(value){
  return value.jsArray;
}

defineSeed(444, 445, makeCastMap([Q$JSONArray]), JSONArray_0, JSONArray_1);
_.equals$ = function equals_10(other){
  if (!instanceOf(other, Q$JSONArray)) {
    return false;
  }
  return this.jsArray == dynamicCast(other, Q$JSONArray).jsArray;
}
;
_.getUnwrapper = function getUnwrapper(){
  return unwrap;
}
;
_.hashCode$ = function hashCode_9(){
  return getHashCode(this.jsArray);
}
;
_.isArray_0 = function isArray_1(){
  return this;
}
;
_.toString$ = function toString_18(){
  var c, i, sb;
  sb = new StringBuffer_0;
  sb.impl.string += '[';
  for (i = 0 , c = this.jsArray.length; i < c; ++i) {
    i > 0 && (sb.impl.string += ',' , sb);
    $append_3(sb, $get_3(this, i));
  }
  sb.impl.string += ']';
  return sb.impl.string;
}
;
_.jsArray = null;
function $clinit_JSONBoolean(){
  $clinit_JSONBoolean = nullMethod;
  FALSE = new JSONBoolean_0(false);
  TRUE = new JSONBoolean_0(true);
}

function JSONBoolean_0(value){
  this.value_0 = value;
}

function unwrap_0(value){
  return value.value_0;
}

defineSeed(446, 445, {}, JSONBoolean_0);
_.getUnwrapper = function getUnwrapper_0(){
  return unwrap_0;
}
;
_.isBoolean = function isBoolean_0(){
  return this;
}
;
_.toString$ = function toString_19(){
  return $clinit_Boolean() , '' + this.value_0;
}
;
_.value_0 = false;
var FALSE, TRUE;
function JSONException_0(message){
  RuntimeException_0.call(this, message);
}

function JSONException_1(cause){
  $fillInStackTrace();
  this.detailMessage = !cause?null:$toString(cause);
  this.cause = cause;
}

defineSeed(447, 300, makeCastMap([Q$Serializable, Q$Exception, Q$Throwable]), JSONException_0, JSONException_1);
function $clinit_JSONNull(){
  $clinit_JSONNull = nullMethod;
  instance_6 = new JSONNull_0;
}

function JSONNull_0(){
}

function unwrap_1(){
  return null;
}

defineSeed(448, 445, {}, JSONNull_0);
_.getUnwrapper = function getUnwrapper_1(){
  return unwrap_1;
}
;
_.isNull = function isNull_0(){
  return this;
}
;
_.toString$ = function toString_20(){
  return 'null';
}
;
var instance_6;
function JSONNumber_0(value){
  this.value_0 = value;
}

function unwrap_2(value){
  return value.value_0;
}

defineSeed(449, 445, makeCastMap([Q$JSONNumber]), JSONNumber_0);
_.equals$ = function equals_11(other){
  if (!instanceOf(other, Q$JSONNumber)) {
    return false;
  }
  return this.value_0 == dynamicCast(other, Q$JSONNumber).value_0;
}
;
_.getUnwrapper = function getUnwrapper_2(){
  return unwrap_2;
}
;
_.hashCode$ = function hashCode_10(){
  return round_int((new Double_0(this.value_0)).value_0);
}
;
_.isNumber = function isNumber_0(){
  return this;
}
;
_.toString$ = function toString_21(){
  return this.value_0 + '';
}
;
_.value_0 = 0;
function $computeKeys0(this$static, result){
  var jsObject = this$static.jsObject;
  var i = 0;
  for (var key in jsObject) {
    jsObject.hasOwnProperty(key) && (result[i++] = key);
  }
  return result;
}

function $containsKey_1(this$static, key){
  return key in this$static.jsObject;
}

function $get_4(this$static, key){
  if (key == null) {
    throw new NullPointerException_0;
  }
  return $get0(this$static, key);
}

function $get0(this$static, key){
  var jsObject = this$static.jsObject;
  var v;
  key = String(key);
  jsObject.hasOwnProperty(key) && (v = jsObject[key]);
  var func = ($clinit_JSONParser() , typeMap)[typeof v];
  var ret = func?func(v):throwUnknownTypeException(typeof v);
  return ret;
}

function $put_3(this$static, key, jsonValue){
  var previous;
  if (key == null) {
    throw new NullPointerException_0;
  }
  previous = $get_4(this$static, key);
  $put0(this$static, key, jsonValue);
  return previous;
}

function $put0(this$static, key, value){
  if (value) {
    var func = value.getUnwrapper();
    this$static.jsObject[key] = func(value);
  }
   else {
    delete this$static.jsObject[key];
  }
}

function $toString_3(this$static){
  var first, key, key$index, key$max, keys, sb;
  sb = new StringBuffer_0;
  sb.impl.string += '{';
  first = true;
  keys = $computeKeys0(this$static, initDim(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, 0, 0));
  for (key$index = 0 , key$max = keys.length; key$index < key$max; ++key$index) {
    key = keys[key$index];
    first?(first = false):(sb.impl.string += ', ' , sb);
    $append_4(sb, escapeValue(key));
    sb.impl.string += ':';
    $append_3(sb, $get_4(this$static, key));
  }
  sb.impl.string += '}';
  return sb.impl.string;
}

function JSONObject_0(){
  JSONObject_1.call(this, {});
}

function JSONObject_1(jsValue){
  this.jsObject = jsValue;
}

function unwrap_3(value){
  return value.jsObject;
}

defineSeed(450, 445, makeCastMap([Q$JSONObject]), JSONObject_0, JSONObject_1);
_.equals$ = function equals_12(other){
  if (!instanceOf(other, Q$JSONObject)) {
    return false;
  }
  return this.jsObject == dynamicCast(other, Q$JSONObject).jsObject;
}
;
_.getUnwrapper = function getUnwrapper_3(){
  return unwrap_3;
}
;
_.hashCode$ = function hashCode_11(){
  return getHashCode(this.jsObject);
}
;
_.isObject = function isObject_0(){
  return this;
}
;
_.toString$ = function toString_22(){
  return $toString_3(this);
}
;
_.jsObject = null;
function JSONObject$1_0(this$0, val$keys){
  this.this$0 = this$0;
  this.val$keys = val$keys;
}

defineSeed(451, 70, makeCastMap([Q$Iterable, Q$Set]), JSONObject$1_0);
_.contains_0 = function contains_3(o){
  return instanceOf(o, Q$String) && $containsKey_1(this.this$0, dynamicCast(o, Q$String));
}
;
_.iterator_0 = function iterator_3(){
  return new AbstractList$IteratorImpl_0(new Arrays$ArrayList_0(this.val$keys));
}
;
_.size_1 = function size_5(){
  return this.val$keys.length;
}
;
_.this$0 = null;
_.val$keys = null;
function $clinit_JSONParser(){
  $clinit_JSONParser = nullMethod;
  typeMap = {'boolean':createBoolean, number:createNumber, string:createString, object:createObject, 'function':createObject, undefined:createUndefined};
}

function createBoolean(v){
  return $clinit_JSONBoolean() , v?TRUE:FALSE;
}

function createNumber(v){
  return new JSONNumber_0(v);
}

function createObject(o){
  if (!o) {
    return $clinit_JSONNull() , instance_6;
  }
  var v = o.valueOf?o.valueOf():o;
  if (v !== o) {
    var func = typeMap[typeof v];
    return func?func(v):throwUnknownTypeException(typeof v);
  }
   else if (o instanceof Array || o instanceof $wnd.Array) {
    return new JSONArray_1(o);
  }
   else {
    return new JSONObject_1(o);
  }
}

function createString(v){
  return new JSONString_0(v);
}

function createUndefined(){
  return null;
}

function evaluate(json, strict){
  var v;
  if (strict && ($clinit_JsonUtils() , hasJsonParse)) {
    try {
      v = JSON.parse(json);
    }
     catch (e) {
      return throwJSONException('Error parsing JSON: ' + e);
    }
  }
   else {
    if (strict) {
      if (!($clinit_JsonUtils() , !/[^,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]/.test(json.replace(/"(\\.|[^"\\])*"/g, '')))) {
        return throwJSONException('Illegal character in JSON string');
      }
    }
    json = escapeJsonForEval(json);
    try {
      v = eval('(' + json + ')');
    }
     catch (e) {
      return throwJSONException('Error parsing JSON: ' + e);
    }
  }
  var func = typeMap[typeof v];
  return func?func(v):throwUnknownTypeException(typeof v);
}

function parse(jsonString){
  $clinit_JSONParser();
  var ex;
  if (jsonString == null) {
    throw new NullPointerException_0;
  }
  if (jsonString.length == 0) {
    throw new IllegalArgumentException_0('empty argument');
  }
  try {
    return evaluate(jsonString, false);
  }
   catch ($e0) {
    $e0 = caught_0($e0);
    if (instanceOf($e0, Q$JavaScriptException)) {
      ex = $e0;
      throw new JSONException_1(ex);
    }
     else 
      throw $e0;
  }
}

function throwJSONException(message){
  throw new JSONException_0(message);
}

function throwUnknownTypeException(typeString){
  $clinit_JSONParser();
  throw new JSONException_0("Unexpected typeof result '" + typeString + "'; please report this bug to the GWT team");
}

var typeMap;
function JSONString_0(value){
  if (value == null) {
    throw new NullPointerException_0;
  }
  this.value_0 = value;
}

function unwrap_4(value){
  return value.value_0;
}

defineSeed(453, 445, makeCastMap([Q$JSONString]), JSONString_0);
_.equals$ = function equals_13(other){
  if (!instanceOf(other, Q$JSONString)) {
    return false;
  }
  return $equals_2(this.value_0, dynamicCast(other, Q$JSONString).value_0);
}
;
_.getUnwrapper = function getUnwrapper_4(){
  return unwrap_4;
}
;
_.hashCode$ = function hashCode_12(){
  return getHashCode_0(this.value_0);
}
;
_.isString = function isString_0(){
  return this;
}
;
_.toString$ = function toString_23(){
  return escapeValue(this.value_0);
}
;
_.value_0 = null;
function $clinit_JsonpRequest(){
  $clinit_JsonpRequest = nullMethod;
  CALLBACKS = getOrCreateCallbacksObject();
}

function $onFailure(this$static){
  $cancel(this$static.timer);
  try {
    !!this$static.callback && alert_0('JSONP onFailure');
  }
   finally {
    $scheduleDeferred(($clinit_SchedulerImpl() , INSTANCE_0), new JsonpRequest$2_0(this$static));
  }
}

--></script>
<script><!--
function $registerCallbacks(this$static, callbacks, canHaveMultipleRequestsForId){
  var self_0 = this$static;
  var callback = new Object;
  callback.onSuccess = $entry(function(data){
    typeof data == 'boolean'?(data = new Boolean_1(data)):typeof data == 'number' && (self_0.expectInteger?(data = new Integer_0(data)):(data = new Double_0(data)));
    self_0.onSuccess_0(data);
  }
  );
  this$static.failureCallbackParam && (callback.onFailure = $entry(function(message){
    self_0.onFailure_0(message);
  }
  ));
  if (canHaveMultipleRequestsForId) {
    var callbackWrapper = callbacks[this$static.callbackId];
    if (!callbackWrapper) {
      callbackWrapper = new Object;
      callbackWrapper.callbackList = new Array;
      callbackWrapper.onSuccess = function(data){
        while (callbackWrapper.callbackList.length > 0) {
          callbackWrapper.callbackList.shift().onSuccess(data);
        }
      }
      ;
      callbackWrapper.onFailure = function(data){
        while (callbackWrapper.callbackList.length > 0) {
          callbackWrapper.callbackList.shift().onFailure(data);
        }
      }
      ;
      callbacks[this$static.callbackId] = callbackWrapper;
    }
    callbackWrapper.callbackList.push(callback);
  }
   else {
    callbacks[this$static.callbackId] = callback;
  }
}

function $unregisterCallbacks(this$static, callbacks){
  delete callbacks[this$static.callbackId];
}

function JsonpRequest_0(callback, callbackParam){
  var name_0, ctr;
  $clinit_JsonpRequest();
  this.callbackId = 'P' + (name_0 = '__gwt_jsonp__' , ctr = '__gwt_jsonp_counter__' , $wnd[name_0][ctr]++);
  this.callback = callback;
  this.timeout = 10000;
  this.expectInteger = false;
  this.callbackParam = callbackParam;
  this.failureCallbackParam = null;
  this.canHaveMultipleRequestsForSameId = false;
}

function getOrCreateCallbacksObject(){
  var name_0 = '__gwt_jsonp__';
  if (!$wnd[name_0]) {
    $wnd[name_0] = new Object;
    $wnd[name_0]['__gwt_jsonp_counter__'] = 0;
  }
  return $wnd[name_0];
}

defineSeed(454, 1, {}, JsonpRequest_0);
_.onFailure_0 = function onFailure(message){
  $onFailure(this, new Exception_0(message));
}
;
_.onSuccess_0 = function onSuccess(data){
  $cancel(this.timer);
  try {
    !!this.callback && $onSuccess(this.callback, dynamicCastJso(data));
  }
   finally {
    $scheduleDeferred(($clinit_SchedulerImpl() , INSTANCE_0), new JsonpRequest$2_0(this));
  }
}
;
_.toString$ = function toString_24(){
  return 'JsonpRequest(id=' + this.callbackId + ')';
}
;
_.callback = null;
_.callbackId = null;
_.callbackParam = null;
_.canHaveMultipleRequestsForSameId = false;
_.expectInteger = false;
_.failureCallbackParam = null;
_.timeout = 0;
_.timer = null;
var CALLBACKS;
function JsonpRequest$1_0(this$0, val$baseUri){
  $clinit_Timer();
  this.this$0 = this$0;
  this.val$baseUri = val$baseUri;
}

defineSeed(455, 45, makeCastMap([Q$Timer]), JsonpRequest$1_0);
_.run = function run_6(){
  $onFailure(this.this$0, new TimeoutException_0('Timeout while calling ' + this.val$baseUri));
}
;
_.this$0 = null;
_.val$baseUri = null;
function JsonpRequest$2_0(this$0){
  this.this$0 = this$0;
}

defineSeed(456, 1, {}, JsonpRequest$2_0);
_.execute = function execute_13(){
  var script;
  this.this$0.canHaveMultipleRequestsForSameId || $unregisterCallbacks(this.this$0, ($clinit_JsonpRequest() , CALLBACKS));
  script = $getElementById($doc, this.this$0.callbackId);
  !!script && $removeChild(($clinit_JsonpRequest() , $doc.getElementsByTagName('head')[0]), script);
}
;
_.this$0 = null;
function $send(this$static, url, callback){
  var request, uri, prefix, script;
  request = new JsonpRequest_0(callback, this$static.callbackParam);
  $registerCallbacks(request, CALLBACKS, request.canHaveMultipleRequestsForSameId);
  uri = new StringBuffer_2(url);
  $append_4(uri, url.indexOf('?') != -1?'&':'?');
  prefix = '__gwt_jsonp__.' + request.callbackId;
  $append_4($append_4($append_4($append_4(uri, request.callbackParam), '='), prefix), '.onSuccess');
  script = $doc.createElement('script');
  script.type = 'text/javascript';
  $setId_1(script, request.callbackId);
  $setSrc(script, uri.impl.string);
  request.timer = new JsonpRequest$1_0(request, url);
  $schedule(request.timer, request.timeout);
  $appendChild_0($doc.getElementsByTagName('head')[0], script);
  return request;
}

function JsonpRequestBuilder_0(){
}

defineSeed(457, 1, {}, JsonpRequestBuilder_0);
_.callbackParam = 'callback';
function TimeoutException_0(s){
  Exception_0.call(this, s);
}

defineSeed(458, 15, makeCastMap([Q$Serializable, Q$Exception, Q$Throwable]), TimeoutException_0);
function Array_0(){
}

function clone(array){
  return cloneSubrange(array, 0, array.length);
}

function cloneSubrange(array, fromIndex, toIndex){
  var a, result;
  a = array;
  result = a.slice(fromIndex, toIndex);
  initValues(a.___clazz$, a.castableTypeMap$, a.queryId$, result);
  return result;
}

function createFrom(array, length_0){
  var a, result;
  a = array;
  result = createFromSeed(0, length_0);
  initValues(a.___clazz$, a.castableTypeMap$, a.queryId$, result);
  return result;
}

function createFromSeed(seedType, length_0){
  var array = new Array(length_0);
  if (seedType == 3) {
    for (var i = 0; i < length_0; ++i) {
      var value = new Object;
      value.l = value.m = value.h = 0;
      array[i] = value;
    }
  }
   else if (seedType > 0) {
    var value = [null, 0, false][seedType];
    for (var i = 0; i < length_0; ++i) {
      array[i] = value;
    }
  }
  return array;
}

function initDim(arrayClass, castableTypeMap, queryId, length_0, seedType){
  var result;
  result = createFromSeed(seedType, length_0);
  initValues(arrayClass, castableTypeMap, queryId, result);
  return result;
}

function initDims(arrayClasses, castableTypeMapExprs, queryIdExprs, dimExprs, count, seedType){
  return initDims_0(arrayClasses, castableTypeMapExprs, queryIdExprs, dimExprs, 0, count, seedType);
}

function initDims_0(arrayClasses, castableTypeMapExprs, queryIdExprs, dimExprs, index, count, seedType){
  var i, isLastDim, length_0, result;
  length_0 = dimExprs[index];
  isLastDim = index == count - 1;
  result = createFromSeed(isLastDim?seedType:0, length_0);
  initValues(arrayClasses[index], castableTypeMapExprs[index], queryIdExprs[index], result);
  if (!isLastDim) {
    ++index;
    for (i = 0; i < length_0; ++i) {
      result[i] = initDims_0(arrayClasses, castableTypeMapExprs, queryIdExprs, dimExprs, index, count, seedType);
    }
  }
  return result;
}

function initValues(arrayClass, castableTypeMap, queryId, array){
  $clinit_Array$ExpandoWrapper();
  wrapArray(array, expandoNames_0, expandoValues_0);
  array.___clazz$ = arrayClass;
  array.castableTypeMap$ = castableTypeMap;
  array.queryId$ = queryId;
  return array;
}

function setCheck(array, index, value){
  if (value != null) {
    if (array.queryId$ > 0 && !canCastUnsafe(value, array.queryId$)) {
      throw new ArrayStoreException_0;
    }
     else if (array.queryId$ == -1 && (value.typeMarker$ == nullMethod || canCast(value, 1))) {
      throw new ArrayStoreException_0;
    }
     else if (array.queryId$ < -1 && !(value.typeMarker$ != nullMethod && !canCast(value, 1)) && !canCastUnsafe(value, -array.queryId$)) {
      throw new ArrayStoreException_0;
    }
  }
  return array[index] = value;
}

defineSeed(459, 1, {}, Array_0);
_.queryId$ = 0;
function $clinit_Array$ExpandoWrapper(){
  $clinit_Array$ExpandoWrapper = nullMethod;
  expandoNames_0 = [];
  expandoValues_0 = [];
  initExpandos(new Array_0, expandoNames_0, expandoValues_0);
}

function initExpandos(protoType, expandoNames, expandoValues){
  var i = 0, value;
  for (var name_0 in protoType) {
    if (value = protoType[name_0]) {
      expandoNames[i] = name_0;
      expandoValues[i] = value;
      ++i;
    }
  }
}

function wrapArray(array, expandoNames, expandoValues){
  $clinit_Array$ExpandoWrapper();
  for (var i = 0, c = expandoNames.length; i < c; ++i) {
    array[expandoNames[i]] = expandoValues[i];
  }
}

var expandoNames_0, expandoValues_0;
function canCast(src, dstId){
  return src.castableTypeMap$ && !!src.castableTypeMap$[dstId];
}

function canCastUnsafe(src, dstId){
  return src.castableTypeMap$ && src.castableTypeMap$[dstId];
}

function dynamicCast(src, dstId){
  if (src != null && !canCastUnsafe(src, dstId)) {
    throw new ClassCastException_0;
  }
  return src;
}

function dynamicCastJso(src){
  if (src != null && (src.typeMarker$ == nullMethod || canCast(src, 1))) {
    throw new ClassCastException_0;
  }
  return src;
}

function instanceOf(src, dstId){
  return src != null && canCast(src, dstId);
}

function instanceOfJso(src){
  return src != null && src.typeMarker$ != nullMethod && !canCast(src, 1);
}

function isJavaObject(src){
  return src.typeMarker$ == nullMethod || canCast(src, 1);
}

function maskUndefined(src){
  return src == null?null:src;
}

function round_int(x){
  return ~~Math.max(Math.min(x, 2147483647), -2147483648);
}

function throwClassCastExceptionUnlessNull(o){
  if (o != null) {
    throw new ClassCastException_0;
  }
  return null;
}

function init_2(){
  var runtimeValue;
  !!$stats && onModuleStart('com.google.gwt.useragent.client.UserAgentAsserter');
  runtimeValue = $getRuntimeValue();
  $equals_2('opera', runtimeValue) || ($wnd.alert('ERROR: Possible problem with your *.gwt.xml module file.\nThe compile time user.agent value (opera) does not match the runtime user.agent value (' + runtimeValue + '). Expect more errors.\n') , undefined);
  !!$stats && onModuleStart('com.google.gwt.user.client.DocumentModeAsserter');
  $onModuleLoad();
  !!$stats && onModuleStart('com.allen_sauer.gwt.dnd.client.util.DragEntryPoint');
  $wnd.$GWT_DND_VERSION = '3.2.3';
  $clinit_StyleInjector();
  toInjectAtStart.unshift('HTML{margin:0 !important;border:none !important;}.dragdrop-handle{cursor:move;user-select:none;-khtml-user-select:none;-moz-user-select:none;}.dragdrop-draggable{zoom:1;}.dragdrop-dragging{zoom:normal;}.dragdrop-positioner{border:1px dashed #1e90ff;margin:0 !important;zoom:1;z-index:100;}.dragdrop-flow-panel-positioner{color:#1e90ff;display:inline;text-align:center;vertical-align:middle;}.dragdrop-proxy{background-color:#7af;}.dragdrop-selected,.dragdrop-dragging,.dragdrop-proxy{filter:alpha(opacity \\= 30);opacity:0.3;}.dragdrop-movable-panel{z-index:200;margin:0 !important;border:none !important;}');
  schedule();
  !!$stats && onModuleStart('com.mycompany.project.client.Main');
  $onModuleLoad_0(new Main_0);
}

function caught_0(e){
  if (instanceOf(e, Q$Throwable)) {
    return e;
  }
  return new JavaScriptException_0(e);
}

function create_2(value){
  var a0, a1, a2;
  a0 = value & 4194303;
  a1 = value >> 22 & 4194303;
  a2 = value < 0?1048575:0;
  return create0(a0, a1, a2);
}

function create_3(a){
  return create0(a.l, a.m, a.h);
}

function create0(l_0, m_0, h_0){
  return _ = new LongLibBase$LongEmul_0 , _.l = l_0 , _.m = m_0 , _.h = h_0 , _;
}

function divMod(a, b, computeRemainder){
  var aIsCopy, aIsMinValue, aIsNegative, bpower, c, negative;
  if (b.l == 0 && b.m == 0 && b.h == 0) {
    throw new ArithmeticException_0;
  }
  if (a.l == 0 && a.m == 0 && a.h == 0) {
    computeRemainder && (remainder_0 = create0(0, 0, 0));
    return create0(0, 0, 0);
  }
  if (b.h == 524288 && b.m == 0 && b.l == 0) {
    return divModByMinValue(a, computeRemainder);
  }
  negative = false;
  if (b.h >> 19 != 0) {
    b = neg(b);
    negative = true;
  }
  bpower = powerOfTwo(b);
  aIsNegative = false;
  aIsMinValue = false;
  aIsCopy = false;
  if (a.h == 524288 && a.m == 0 && a.l == 0) {
    aIsMinValue = true;
    aIsNegative = true;
    if (bpower == -1) {
      a = create_3(($clinit_LongLib$Const() , MAX_VALUE));
      aIsCopy = true;
      negative = !negative;
    }
     else {
      c = shr(a, bpower);
      negative && negate(c);
      computeRemainder && (remainder_0 = create0(0, 0, 0));
      return c;
    }
  }
   else if (a.h >> 19 != 0) {
    aIsNegative = true;
    a = neg(a);
    aIsCopy = true;
    negative = !negative;
  }
  if (bpower != -1) {
    return divModByShift(a, bpower, negative, aIsNegative, computeRemainder);
  }
  if (!gte_0(a, b)) {
    computeRemainder && (aIsNegative?(remainder_0 = neg(a)):(remainder_0 = create0(a.l, a.m, a.h)));
    return create0(0, 0, 0);
  }
  return divModHelper(aIsCopy?a:create0(a.l, a.m, a.h), b, negative, aIsNegative, aIsMinValue, computeRemainder);
}

function divModByMinValue(a, computeRemainder){
  if (a.h == 524288 && a.m == 0 && a.l == 0) {
    computeRemainder && (remainder_0 = create0(0, 0, 0));
    return create_3(($clinit_LongLib$Const() , ONE));
  }
  computeRemainder && (remainder_0 = create0(a.l, a.m, a.h));
  return create0(0, 0, 0);
}

function divModByShift(a, bpower, negative, aIsNegative, computeRemainder){
  var c;
  c = shr(a, bpower);
  negative && negate(c);
  if (computeRemainder) {
    a = maskRight(a, bpower);
    aIsNegative?(remainder_0 = neg(a)):(remainder_0 = create0(a.l, a.m, a.h));
  }
  return c;
}

function divModHelper(a, b, negative, aIsNegative, aIsMinValue, computeRemainder){
  var bshift, gte, quotient, shift, a1, a2, a0;
  shift = numberOfLeadingZeros(b) - numberOfLeadingZeros(a);
  bshift = shl(b, shift);
  quotient = create0(0, 0, 0);
  while (shift >= 0) {
    gte = trialSubtract(a, bshift);
    if (gte) {
      shift < 22?(quotient.l |= 1 << shift , undefined):shift < 44?(quotient.m |= 1 << shift - 22 , undefined):(quotient.h |= 1 << shift - 44 , undefined);
      if (a.l == 0 && a.m == 0 && a.h == 0) {
        break;
      }
    }
    a1 = bshift.m;
    a2 = bshift.h;
    a0 = bshift.l;
    bshift.h = a2 >>> 1;
    bshift.m = a1 >>> 1 | (a2 & 1) << 21;
    bshift.l = a0 >>> 1 | (a1 & 1) << 21;
    --shift;
  }
  negative && negate(quotient);
  if (computeRemainder) {
    if (aIsNegative) {
      remainder_0 = neg(a);
      aIsMinValue && (remainder_0 = sub_0(remainder_0, ($clinit_LongLib$Const() , ONE)));
    }
     else {
      remainder_0 = create0(a.l, a.m, a.h);
    }
  }
  return quotient;
}

function maskRight(a, bits){
  var b0, b1, b2;
  if (bits <= 22) {
    b0 = a.l & (1 << bits) - 1;
    b1 = b2 = 0;
  }
   else if (bits <= 44) {
    b0 = a.l;
    b1 = a.m & (1 << bits - 22) - 1;
    b2 = 0;
  }
   else {
    b0 = a.l;
    b1 = a.m;
    b2 = a.h & (1 << bits - 44) - 1;
  }
  return create0(b0, b1, b2);
}

function negate(a){
  var neg0, neg1, neg2;
  neg0 = ~a.l + 1 & 4194303;
  neg1 = ~a.m + (neg0 == 0?1:0) & 4194303;
  neg2 = ~a.h + (neg0 == 0 && neg1 == 0?1:0) & 1048575;
  a.l = neg0;
  a.m = neg1;
  a.h = neg2;
}

function numberOfLeadingZeros(a){
  var b1, b2;
  b2 = numberOfLeadingZeros_0(a.h);
  if (b2 == 32) {
    b1 = numberOfLeadingZeros_0(a.m);
    return b1 == 32?numberOfLeadingZeros_0(a.l) + 32:b1 + 20 - 10;
  }
   else {
    return b2 - 12;
  }
}

function powerOfTwo(a){
  var h_0, l_0, m_0;
  l_0 = a.l;
  if ((l_0 & l_0 - 1) != 0) {
    return -1;
  }
  m_0 = a.m;
  if ((m_0 & m_0 - 1) != 0) {
    return -1;
  }
  h_0 = a.h;
  if ((h_0 & h_0 - 1) != 0) {
    return -1;
  }
  if (h_0 == 0 && m_0 == 0 && l_0 == 0) {
    return -1;
  }
  if (h_0 == 0 && m_0 == 0 && l_0 != 0) {
    return numberOfTrailingZeros(l_0);
  }
  if (h_0 == 0 && m_0 != 0 && l_0 == 0) {
    return numberOfTrailingZeros(m_0) + 22;
  }
  if (h_0 != 0 && m_0 == 0 && l_0 == 0) {
    return numberOfTrailingZeros(h_0) + 44;
  }
  return -1;
}

function toDoubleHelper(a){
  return a.l + a.m * 4194304 + a.h * 17592186044416;
}

function trialSubtract(a, b){
  var sum0, sum1, sum2;
  sum2 = a.h - b.h;
  if (sum2 < 0) {
    return false;
  }
  sum0 = a.l - b.l;
  sum1 = a.m - b.m + (sum0 >> 22);
  sum2 += sum1 >> 22;
  if (sum2 < 0) {
    return false;
  }
  a.l = sum0 & 4194303;
  a.m = sum1 & 4194303;
  a.h = sum2 & 1048575;
  return true;
}

var remainder_0 = null;
function add_2(a, b){
  var sum0, sum1, sum2;
  sum0 = a.l + b.l;
  sum1 = a.m + b.m + (sum0 >> 22);
  sum2 = a.h + b.h + (sum1 >> 22);
  return create0(sum0 & 4194303, sum1 & 4194303, sum2 & 1048575);
}

function div_0(a, b){
  return divMod(a, b, false);
}

function eq(a, b){
  return a.l == b.l && a.m == b.m && a.h == b.h;
}

function fromDouble(value){
  var a0, a1, a2, negative, result;
  if (isNaN(value)) {
    return $clinit_LongLib$Const() , ZERO;
  }
  if (value < -9223372036854775808) {
    return $clinit_LongLib$Const() , MIN_VALUE;
  }
  if (value >= 9223372036854775807) {
    return $clinit_LongLib$Const() , MAX_VALUE;
  }
  negative = false;
  if (value < 0) {
    negative = true;
    value = -value;
  }
  a2 = 0;
  if (value >= 17592186044416) {
    a2 = round_int(value / 17592186044416);
    value -= a2 * 17592186044416;
  }
  a1 = 0;
  if (value >= 4194304) {
    a1 = round_int(value / 4194304);
    value -= a1 * 4194304;
  }
  a0 = round_int(value);
  result = create0(a0, a1, a2);
  negative && negate(result);
  return result;
}

function fromInt(value){
  var rebase, result;
  if (value > -129 && value < 128) {
    rebase = value + 128;
    boxedValues == null && (boxedValues = initDim(_3Lcom_google_gwt_lang_LongLibBase$LongEmul_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$LongLibBase$LongEmul, 256, 0));
    result = boxedValues[rebase];
    !result && (result = boxedValues[rebase] = create_2(value));
    return result;
  }
  return create_2(value);
}

function gt(a, b){
  var signa, signb;
  signa = a.h >> 19;
  signb = b.h >> 19;
  return signa == 0?signb != 0 || a.h > b.h || a.h == b.h && a.m > b.m || a.h == b.h && a.m == b.m && a.l > b.l:!(signb == 0 || a.h < b.h || a.h == b.h && a.m < b.m || a.h == b.h && a.m == b.m && a.l <= b.l);
}

function gte_0(a, b){
  var signa, signb;
  signa = a.h >> 19;
  signb = b.h >> 19;
  return signa == 0?signb != 0 || a.h > b.h || a.h == b.h && a.m > b.m || a.h == b.h && a.m == b.m && a.l >= b.l:!(signb == 0 || a.h < b.h || a.h == b.h && a.m < b.m || a.h == b.h && a.m == b.m && a.l < b.l);
}

function lt(a, b){
  return !gte_0(a, b);
}

function mod(a, b){
  divMod(a, b, true);
  return remainder_0;
}

function mul(a, b){
  var a0, a1, a2, a3, a4, b0, b1, b2, b3, b4, c0, c00, c01, c1, c10, c11, c12, c13, c2, c22, c23, c24, p0, p1, p2, p3, p4;
  a0 = a.l & 8191;
  a1 = a.l >> 13 | (a.m & 15) << 9;
  a2 = a.m >> 4 & 8191;
  a3 = a.m >> 17 | (a.h & 255) << 5;
  a4 = (a.h & 1048320) >> 8;
  b0 = b.l & 8191;
  b1 = b.l >> 13 | (b.m & 15) << 9;
  b2 = b.m >> 4 & 8191;
  b3 = b.m >> 17 | (b.h & 255) << 5;
  b4 = (b.h & 1048320) >> 8;
  p0 = a0 * b0;
  p1 = a1 * b0;
  p2 = a2 * b0;
  p3 = a3 * b0;
  p4 = a4 * b0;
  if (b1 != 0) {
    p1 += a0 * b1;
    p2 += a1 * b1;
    p3 += a2 * b1;
    p4 += a3 * b1;
  }
  if (b2 != 0) {
    p2 += a0 * b2;
    p3 += a1 * b2;
    p4 += a2 * b2;
  }
  if (b3 != 0) {
    p3 += a0 * b3;
    p4 += a1 * b3;
  }
  b4 != 0 && (p4 += a0 * b4);
  c00 = p0 & 4194303;
  c01 = (p1 & 511) << 13;
  c0 = c00 + c01;
  c10 = p0 >> 22;
  c11 = p1 >> 9;
  c12 = (p2 & 262143) << 4;
  c13 = (p3 & 31) << 17;
  c1 = c10 + c11 + c12 + c13;
  c22 = p2 >> 18;
  c23 = p3 >> 5;
  c24 = (p4 & 4095) << 8;
  c2 = c22 + c23 + c24;
  c1 += c0 >> 22;
  c0 &= 4194303;
  c2 += c1 >> 22;
  c1 &= 4194303;
  c2 &= 1048575;
  return create0(c0, c1, c2);
}

function neg(a){
  var neg0, neg1, neg2;
  neg0 = ~a.l + 1 & 4194303;
  neg1 = ~a.m + (neg0 == 0?1:0) & 4194303;
  neg2 = ~a.h + (neg0 == 0 && neg1 == 0?1:0) & 1048575;
  return create0(neg0, neg1, neg2);
}

function shl(a, n){
  var res0, res1, res2;
  n &= 63;
  if (n < 22) {
    res0 = a.l << n;
    res1 = a.m << n | a.l >> 22 - n;
    res2 = a.h << n | a.m >> 22 - n;
  }
   else if (n < 44) {
    res0 = 0;
    res1 = a.l << n - 22;
    res2 = a.m << n - 22 | a.l >> 44 - n;
  }
   else {
    res0 = 0;
    res1 = 0;
    res2 = a.l << n - 44;
  }
  return create0(res0 & 4194303, res1 & 4194303, res2 & 1048575);
}

function shr(a, n){
  var a2, negative, res0, res1, res2;
  n &= 63;
  a2 = a.h;
  negative = (a2 & 524288) != 0;
  negative && (a2 |= -1048576);
  if (n < 22) {
    res2 = a2 >> n;
    res1 = a.m >> n | a2 << 22 - n;
    res0 = a.l >> n | a.m << 22 - n;
  }
   else if (n < 44) {
    res2 = negative?1048575:0;
    res1 = a2 >> n - 22;
    res0 = a.m >> n - 22 | a2 << 44 - n;
  }
   else {
    res2 = negative?1048575:0;
    res1 = negative?4194303:0;
    res0 = a2 >> n - 44;
  }
  return create0(res0 & 4194303, res1 & 4194303, res2 & 1048575);
}

function shru(a, n){
  var a2, res0, res1, res2;
  n &= 63;
  a2 = a.h & 1048575;
  if (n < 22) {
    res2 = a2 >>> n;
    res1 = a.m >> n | a2 << 22 - n;
    res0 = a.l >> n | a.m << 22 - n;
  }
   else if (n < 44) {
    res2 = 0;
    res1 = a2 >>> n - 22;
    res0 = a.m >> n - 22 | a.h << 44 - n;
  }
   else {
    res2 = 0;
    res1 = 0;
    res0 = a2 >>> n - 44;
  }
  return create0(res0 & 4194303, res1 & 4194303, res2 & 1048575);
}

function sub_0(a, b){
  var sum0, sum1, sum2;
  sum0 = a.l - b.l;
  sum1 = a.m - b.m + (sum0 >> 22);
  sum2 = a.h - b.h + (sum1 >> 22);
  return create0(sum0 & 4194303, sum1 & 4194303, sum2 & 1048575);
}

function toDouble(a){
  if (eq(a, ($clinit_LongLib$Const() , MIN_VALUE))) {
    return -9223372036854775808;
  }
  if (!gte_0(a, ZERO)) {
    return -toDoubleHelper(neg(a));
  }
  return a.l + a.m * 4194304 + a.h * 17592186044416;
}

function toInt(a){
  return a.l | a.m << 22;
}

function toString_25(a){
  var digits, rem, res, tenPowerLong, zeroesNeeded;
  if (a.l == 0 && a.m == 0 && a.h == 0) {
    return '0';
  }
  if (a.h == 524288 && a.m == 0 && a.l == 0) {
    return '-9223372036854775808';
  }
  if (a.h >> 19 != 0) {
    return '-' + toString_25(neg(a));
  }
  rem = a;
  res = '';
  while (!(rem.l == 0 && rem.m == 0 && rem.h == 0)) {
    tenPowerLong = fromInt(1000000000);
    rem = divMod(rem, tenPowerLong, true);
    digits = '' + toInt(remainder_0);
    if (!(rem.l == 0 && rem.m == 0 && rem.h == 0)) {
      zeroesNeeded = 9 - digits.length;
      for (; zeroesNeeded > 0; --zeroesNeeded) {
        digits = '0' + digits;
      }
    }
    res = digits + res;
  }
  return res;
}

function xor(a, b){
  return create0(a.l ^ b.l, a.m ^ b.m, a.h ^ b.h);
}

var boxedValues = null;
function $clinit_LongLib$Const(){
  $clinit_LongLib$Const = nullMethod;
  MAX_VALUE = create0(4194303, 4194303, 524287);
  MIN_VALUE = create0(0, 0, 524288);
  ONE = fromInt(1);
  fromInt(2);
  ZERO = fromInt(0);
}

var MAX_VALUE, MIN_VALUE, ONE, ZERO;
function LongLibBase$LongEmul_0(){
}

defineSeed(468, 1, makeCastMap([Q$LongLibBase$LongEmul]), LongLibBase$LongEmul_0);
function onModuleStart(mainClassName){
  return $stats({moduleName:$moduleName, sessionId:$sessionId, subSystem:'startup', evtGroup:'moduleStartup', millis:(new Date).getTime(), type:'onModuleLoadStart', className:mainClassName});
}

function $replace_0(this$static, input, replacement){
  return input.replace(this$static, replacement);
}

function $append_2(this$static, styles){
  $append_6(this$static.sb, styles.css);
  return this$static;
}

function SafeStylesBuilder_0(){
  this.sb = new StringBuilder_0;
}

defineSeed(473, 1, {}, SafeStylesBuilder_0);
function SafeStylesString_0(css){
  verifySafeStylesConstraints(css);
  this.css = css;
}

defineSeed(474, 1, makeCastMap([Q$SafeStyles, Q$SafeStylesString, Q$Serializable]), SafeStylesString_0);
_.equals$ = function equals_14(obj){
  if (!instanceOf(obj, Q$SafeStyles)) {
    return false;
  }
  return $equals_2(this.css, dynamicCast(dynamicCast(obj, Q$SafeStyles), Q$SafeStylesString).css);
}
;
_.hashCode$ = function hashCode_13(){
  return getHashCode_0(this.css);
}
;
_.css = null;
function verifySafeStylesConstraints(styles){
  if (styles == null) {
    throw new NullPointerException_1('css is null');
  }
}

function OnlyToBeUsedInGeneratedCodeStringBlessedAsSafeHtml_0(html){
  if (html == null) {
    throw new NullPointerException_1('html is null');
  }
  this.html_0 = html;
}

defineSeed(476, 1, makeCastMap([Q$SafeHtml, Q$Serializable]), OnlyToBeUsedInGeneratedCodeStringBlessedAsSafeHtml_0);
_.asString = function asString(){
  return this.html_0;
}
;
_.equals$ = function equals_15(obj){
  if (!instanceOf(obj, Q$SafeHtml)) {
    return false;
  }
  return $equals_2(this.html_0, dynamicCast(obj, Q$SafeHtml).asString());
}
;
_.hashCode$ = function hashCode_14(){
  return getHashCode_0(this.html_0);
}
;
_.html_0 = null;
function SafeHtmlString_0(){
  this.html_0 = '';
}

defineSeed(477, 1, makeCastMap([Q$SafeHtml, Q$Serializable]), SafeHtmlString_0);
_.asString = function asString_0(){
  return this.html_0;
}
;
_.equals$ = function equals_16(obj){
  if (!instanceOf(obj, Q$SafeHtml)) {
    return false;
  }
  return $equals_2(this.html_0, dynamicCast(obj, Q$SafeHtml).asString());
}
;
_.hashCode$ = function hashCode_15(){
  return getHashCode_0(this.html_0);
}
;
_.html_0 = null;
function $clinit_SafeHtmlUtils(){
  $clinit_SafeHtmlUtils = nullMethod;
  new SafeHtmlString_0;
  AMP_RE = new RegExp('&', 'g');
  GT_RE = new RegExp('>', 'g');
  LT_RE = new RegExp('<', 'g');
  SQUOT_RE = new RegExp("'", 'g');
  QUOT_RE = new RegExp('"', 'g');
}

function htmlEscape(s){
  $clinit_SafeHtmlUtils();
  s.indexOf('&') != -1 && (s = $replace_0(AMP_RE, s, '&amp;'));
  s.indexOf('<') != -1 && (s = $replace_0(LT_RE, s, '&lt;'));
  s.indexOf('>') != -1 && (s = $replace_0(GT_RE, s, '&gt;'));
  s.indexOf('"') != -1 && (s = $replace_0(QUOT_RE, s, '&quot;'));
  s.indexOf("'") != -1 && (s = $replace_0(SQUOT_RE, s, '&#39;'));
  return s;
}

var AMP_RE, GT_RE, LT_RE, QUOT_RE, SQUOT_RE;
function SafeUriString_0(uri){
  if (uri == null) {
    throw new NullPointerException_1('uri is null');
  }
  this.uri = uri;
}

defineSeed(479, 1, makeCastMap([Q$SafeUri, Q$SafeUriString]), SafeUriString_0);
_.equals$ = function equals_17(obj){
  if (!instanceOf(obj, Q$SafeUri)) {
    return false;
  }
  return $equals_2(this.uri, dynamicCast(dynamicCast(obj, Q$SafeUri), Q$SafeUriString).uri);
}
;
_.hashCode$ = function hashCode_16(){
  return getHashCode_0(this.uri);
}
;
_.uri = null;
function $clinit_UriUtils(){
  $clinit_UriUtils = nullMethod;
  new RegExp('%5B', 'g');
  new RegExp('%5D', 'g');
}

function $getItem_0(this$static, key){
  return $getItem_1(this$static.storage, key);
}

function $removeItem(this$static, key){
  $removeItem_0(this$static.storage, key);
}

function $setItem(this$static, key, data){
  $setItem_0(this$static.storage, key, data);
}

function Storage_0(){
  this.storage = 'localStorage';
}

function getLocalStorageIfSupported(){
  !supportDetectorImpl && (supportDetectorImpl = new Storage$StorageSupportDetector_0);
  if (supportDetectorImpl.isLocalStorageSupported) {
    !localStorage_0 && (localStorage_0 = new Storage_0);
    return localStorage_0;
  }
  return null;
}

defineSeed(481, 1, {}, Storage_0);
_.storage = null;
var localStorage_0 = null, supportDetectorImpl = null;
function Storage$StorageSupportDetector_0(){
  this.isLocalStorageSupported = $wnd.localStorage != null;
  $wnd.sessionStorage != null;
}

defineSeed(482, 1, {}, Storage$StorageSupportDetector_0);
function $getItem_1(storage, key){
  return $wnd[storage].getItem(key);
}

function $getLength(storage){
  return $wnd[storage].length;
}

function $removeItem_0(storage, key){
  $wnd[storage].removeItem(key);
}

function $setItem_0(storage, key, data){
  $wnd[storage].setItem(key, data);
}

defineSeed(484, 1, {});
function PassthroughParser_0(){
}

defineSeed(485, 1, {}, PassthroughParser_0);
var INSTANCE_1 = null;
function PassthroughRenderer_0(){
}

defineSeed(486, 484, {}, PassthroughRenderer_0);
var INSTANCE_2 = null;
function $calcNewVelocity(initialVelocity, decelFactor, oldVelocity, minDecel){
  var maxVelocityX, minVelocityX, newVelocity;
  newVelocity = initialVelocity * decelFactor;
  if (oldVelocity >= 0) {
    maxVelocityX = 0 > oldVelocity - minDecel?0:oldVelocity - minDecel;
    newVelocity = newVelocity < maxVelocityX?newVelocity:maxVelocityX;
  }
   else {
    minVelocityX = 0 < oldVelocity + minDecel?0:oldVelocity + minDecel;
    newVelocity = newVelocity > minVelocityX?newVelocity:minVelocityX;
  }
  return newVelocity;
}

function $updateState(state){
  var decelFactor, dist, elapsedMillis, ellapsedMillis, initialVelocity, minDecel, newVelocity, newVelocityX, newVelocityY, oldVelocity, position, totalEllapsedMillis;
  ellapsedMillis = state.elapsedMillis;
  totalEllapsedMillis = state.cumulativeElapsedMillis;
  initialVelocity = state.initialVelocity;
  oldVelocity = state.velocity;
  decelFactor = Math.pow(0.9993, totalEllapsedMillis);
  minDecel = ellapsedMillis * 5.0E-4;
  newVelocityX = $calcNewVelocity(initialVelocity.x, decelFactor, oldVelocity.x, minDecel);
  newVelocityY = $calcNewVelocity(initialVelocity.y, decelFactor, oldVelocity.y, minDecel);
  newVelocity = new Point_2(newVelocityX, newVelocityY);
  state.velocity = newVelocity;
  elapsedMillis = state.elapsedMillis;
  dist = $mult(newVelocity, new Point_2(elapsedMillis, elapsedMillis));
  position = state.position_0;
  $setPosition_0(state, new Point_2(position.x + dist.x, position.y + dist.y));
  if (abs(newVelocity.x) < 0.02 && abs(newVelocity.y) < 0.02) {
    return false;
  }
  return true;
}

function DefaultMomentum_0(){
}

defineSeed(487, 1, {}, DefaultMomentum_0);
function $setCumulativeElapsedMillis(this$static, cumulativeElapsedMillis){
  this$static.cumulativeElapsedMillis = cumulativeElapsedMillis;
}

function $setElapsedMillis(this$static, elapsedMillis){
  this$static.elapsedMillis = elapsedMillis;
}

function $setPosition_0(this$static, position){
  this$static.position_0 = position;
}

function Momentum$State_0(initialPosition, initialVelocity){
  this.initialVelocity = initialVelocity;
  this.position_0 = new Point_3(initialPosition);
  this.velocity = new Point_3(initialVelocity);
}

defineSeed(488, 1, {}, Momentum$State_0);
_.cumulativeElapsedMillis = 0;
_.elapsedMillis = 0;
_.initialVelocity = null;
_.position_0 = null;
_.velocity = null;
--></script>
<script><!--
function $minus(this$static, c){
  return new Point_2(this$static.x - c.x, this$static.y - c.y);
}

function $mult(this$static, c){
  return new Point_2(this$static.x * c.x, this$static.y * c.y);
}

function $plus(this$static, c){
  return new Point_2(this$static.x + c.x, this$static.y + c.y);
}

function Point_2(x, y){
  this.x = x;
  this.y = y;
}

function Point_3(c){
  Point_2.call(this, c.x, c.y);
}

defineSeed(489, 1, makeCastMap([Q$Point_0]), Point_2, Point_3);
_.equals$ = function equals_18(obj){
  var c;
  if (!instanceOf(obj, Q$Point_0)) {
    return false;
  }
  c = dynamicCast(obj, Q$Point_0);
  return this.x == c.x && this.y == c.y;
}
;
_.hashCode$ = function hashCode_17(){
  return round_int(this.x) ^ round_int(this.y);
}
;
_.toString$ = function toString_26(){
  return 'Point(' + this.x + ',' + this.y + ')';
}
;
_.x = 0;
_.y = 0;
function $calculateEndVelocity(from, to){
  var dist, time;
  time = to.time - from.time;
  if (time <= 0) {
    return null;
  }
  dist = $minus(from.point, to.point);
  return new Point_2(dist.x / time, dist.y / time);
}

function $cancelAll(this$static){
  this$static.touching = false;
  this$static.dragging = false;
  this$static.momentumCommand = null;
}

function $getTouchFromEvent(event_0){
  var touches;
  touches = event_0.nativeEvent.touches;
  return touches.length > 0?touches[0]:null;
}

function $getWidgetScrollPosition(this$static){
  return new Point_2(this$static.widget.scrollableElem.scrollLeft || 0, this$static.widget.scrollableElem.scrollTop || 0);
}

function $hitTest(point1, point2){
  var absDiffX, absDiffY, diff;
  diff = new Point_2(point1.x - point2.x, point1.y - point2.y);
  absDiffX = abs(diff.x);
  absDiffY = abs(diff.y);
  return absDiffX <= 25 && absDiffY <= 25;
}

function $isClickScrollTriggeringTouch(this$static, clickPoint){
  if (this$static.recentScrollTriggeringTouchPosition.point) {
    return $hitTest(clickPoint, this$static.recentScrollTriggeringTouchPosition.point);
  }
  return false;
}

function $isClickTouchPositionDuringMomentum(this$static, clickPoint){
  var currentTime, point, point$iterator, same;
  currentTime = currentTimeMillis();
  same = false;
  for (point$iterator = new AbstractList$IteratorImpl_0(this$static.touchPositionsDuringMomentum); point$iterator.i < point$iterator.this$0_0.size_1();) {
    point = dynamicCast($next_3(point$iterator), Q$TouchScroller$TemporalPoint);
    if (currentTime - point.time <= 2500 && $hitTest(clickPoint, point.point)) {
      same = true;
      break;
    }
  }
  return same;
}

function $onDragEnd(this$static){
  var endVelocity;
  if (!this$static.momentum) {
    return;
  }
  endVelocity = $calculateEndVelocity(this$static.recentTouchPosition, this$static.lastTouchPosition);
  if (endVelocity) {
    this$static.momentumCommand = new TouchScroller$MomentumCommand_0(this$static, endVelocity);
    scheduleFixedDelayImpl(($clinit_SchedulerImpl() , this$static.momentumCommand), 16);
  }
}

function $onTouchEnd(this$static){
  if (!this$static.touching) {
    return;
  }
  this$static.touching = false;
  if (this$static.dragging) {
    this$static.dragging = false;
    $onDragEnd(this$static);
  }
}

function $onTouchMove(this$static, event_0){
  var absDiffX, absDiffY, diff, hMax, hMin, hPosition, touch, touchPoint, touchTime, trackingTime, vMax, vPosition, diff_0, curScrollPosition;
  if (!this$static.touching) {
    return;
  }
  touch = $getTouchFromEvent(event_0);
  touchPoint = new Point_2(touch.pageX, touch.pageY);
  touchTime = currentTimeMillis();
  $setTemporalPoint(this$static.lastTouchPosition, touchPoint, touchTime);
  if (!this$static.dragging) {
    diff = $minus(touchPoint, this$static.startTouchPosition);
    absDiffX = abs(diff.x);
    absDiffY = abs(diff.y);
    if (absDiffX > 5 || absDiffY > 5) {
      $setTemporalPoint(this$static.recentScrollTriggeringTouchPosition, this$static.recentTouchPosition.point, this$static.recentTouchPosition.time);
      if (absDiffX > absDiffY) {
        hPosition = this$static.widget.scrollableElem.scrollLeft || 0;
        hMin = $getMinimumHorizontalScrollPosition_0(this$static.widget);
        hMax = $getMaximumHorizontalScrollPosition_0(this$static.widget);
        if (diff.x < 0 && hMax <= hPosition) {
          $cancelAll(this$static);
          return;
        }
         else if (diff.x > 0 && hMin >= hPosition) {
          $cancelAll(this$static);
          return;
        }
      }
       else {
        vPosition = this$static.widget.scrollableElem.scrollTop || 0;
        vMax = $getMaximumVerticalScrollPosition(this$static.widget);
        if (diff.y < 0 && vMax <= vPosition) {
          $cancelAll(this$static);
          return;
        }
         else if (diff.y > 0 && 0 >= vPosition) {
          $cancelAll(this$static);
          return;
        }
      }
      this$static.dragging = true;
    }
  }
  event_0.nativeEvent.preventDefault();
  if (this$static.dragging) {
    diff_0 = $minus(this$static.startTouchPosition, this$static.lastTouchPosition.point);
    curScrollPosition = $plus(this$static.startScrollPosition, diff_0);
    $setHorizontalScrollPosition(this$static.widget, round_int(curScrollPosition.x));
    $setVerticalScrollPosition(this$static.widget, round_int(curScrollPosition.y));
    trackingTime = touchTime - this$static.recentTouchPosition.time;
    if (trackingTime > 200 && !!this$static.recentTouchPositionOnDeck) {
      $setTemporalPoint(this$static.recentTouchPosition, this$static.recentTouchPositionOnDeck.point, this$static.recentTouchPositionOnDeck.time);
      this$static.recentTouchPositionOnDeck = null;
    }
     else 
      trackingTime > 100 && !this$static.recentTouchPositionOnDeck && (this$static.recentTouchPositionOnDeck = new TouchScroller$TemporalPoint_1(touchPoint, touchTime));
  }
}

function $onTouchStart(this$static, event_0){
  var startTouchTime, touch;
  $setTemporalPoint(this$static.recentScrollTriggeringTouchPosition, null, 0);
  if (this$static.touching) {
    return;
  }
  touch = $getTouchFromEvent(event_0);
  this$static.startTouchPosition = new Point_2(touch.pageX, touch.pageY);
  startTouchTime = currentTimeMillis();
  $setTemporalPoint(this$static.recentTouchPosition, this$static.startTouchPosition, startTouchTime);
  $setTemporalPoint(this$static.lastTouchPosition, this$static.startTouchPosition, startTouchTime);
  this$static.recentTouchPositionOnDeck = null;
  if (this$static.momentumCommand) {
    $add_17(this$static.touchPositionsDuringMomentum, new TouchScroller$TemporalPoint_1(this$static.startTouchPosition, startTouchTime));
    scheduleFixedDelayImpl(($clinit_SchedulerImpl() , this$static.momentumTouchRemovalCommand), 2500);
  }
  this$static.startScrollPosition = new Point_2(this$static.widget.scrollableElem.scrollLeft || 0, this$static.widget.scrollableElem.scrollTop || 0);
  $cancelAll(this$static);
  this$static.touching = true;
}

function $removeAttachHandler(this$static){
  if (this$static.attachHandlerReg) {
    $removeHandler(this$static.attachHandlerReg.real);
    this$static.attachHandlerReg = null;
  }
}

function $removeBustClickHandler(this$static){
  if (this$static.bustClickHandlerReg) {
    $removeHandler(this$static.bustClickHandlerReg.real);
    this$static.bustClickHandlerReg = null;
  }
}

function $setMomentum(this$static, momentum){
  this$static.momentum = momentum;
  !momentum && (this$static.momentumCommand = null);
}

function $setTargetWidget(this$static, widget){
  var reg, reg$iterator;
  if (this$static.widget == widget) {
    return;
  }
  $cancelAll(this$static);
  for (reg$iterator = new AbstractList$IteratorImpl_0(this$static.handlerRegs); reg$iterator.i < reg$iterator.this$0_0.size_1();) {
    reg = dynamicCast($next_3(reg$iterator), Q$HandlerRegistration);
    $removeHandler(reg.real);
  }
  $clear_1(this$static.handlerRegs);
  $removeAttachHandler(this$static);
  $removeBustClickHandler(this$static);
  this$static.widget = widget;
  if (widget) {
    widget.attached && ($removeBustClickHandler(this$static) , this$static.bustClickHandlerReg = addNativePreviewHandler(new TouchScroller$6_0(this$static)));
    this$static.attachHandlerReg = $addHandler(widget, new TouchScroller$1_0(this$static), (!TYPE_12 && (TYPE_12 = new GwtEvent$Type_0) , TYPE_12));
    $add_17(this$static.handlerRegs, $addDomHandler(widget, new TouchScroller$2_0(this$static), ($clinit_TouchStartEvent() , $clinit_TouchStartEvent() , TYPE_11)));
    $add_17(this$static.handlerRegs, $addDomHandler(widget, new TouchScroller$3_0(this$static), ($clinit_TouchMoveEvent() , $clinit_TouchMoveEvent() , TYPE_10)));
    $add_17(this$static.handlerRegs, $addDomHandler(widget, new TouchScroller$4_0(this$static), ($clinit_TouchEndEvent() , $clinit_TouchEndEvent() , TYPE_9)));
    $add_17(this$static.handlerRegs, $addDomHandler(widget, new TouchScroller$5_0(this$static), ($clinit_TouchCancelEvent() , $clinit_TouchCancelEvent() , TYPE_8)));
  }
}

function $setWidgetScrollPosition(this$static, position){
  $setHorizontalScrollPosition(this$static.widget, round_int(position.x));
  $setVerticalScrollPosition(this$static.widget, round_int(position.y));
}

function $setupBustClickHandler(this$static){
  $removeBustClickHandler(this$static);
  this$static.bustClickHandlerReg = addNativePreviewHandler(new TouchScroller$6_0(this$static));
}

function TouchScroller_0(){
  this.handlerRegs = new ArrayList_0;
  this.lastTouchPosition = new TouchScroller$TemporalPoint_0;
  this.recentTouchPosition = new TouchScroller$TemporalPoint_0;
  this.recentScrollTriggeringTouchPosition = new TouchScroller$TemporalPoint_0;
  this.touchPositionsDuringMomentum = new ArrayList_0;
  this.momentumTouchRemovalCommand = new TouchScroller$MomentumTouchRemovalCommand_0(this);
  $setMomentum(this, new DefaultMomentum_0);
}

defineSeed(490, 1, {}, TouchScroller_0);
_.attachHandlerReg = null;
_.bustClickHandlerReg = null;
_.dragging = false;
_.momentum = null;
_.momentumCommand = null;
_.recentTouchPositionOnDeck = null;
_.startScrollPosition = null;
_.startTouchPosition = null;
_.touching = false;
_.widget = null;
var isSupported = null;
function TouchScroller$1_0(this$0){
  this.this$0 = this$0;
}

defineSeed(491, 1, makeCastMap([Q$AttachEvent$Handler, Q$EventHandler]), TouchScroller$1_0);
_.this$0 = null;
function TouchScroller$2_0(this$0){
  this.this$0 = this$0;
}

defineSeed(492, 1, makeCastMap([Q$TouchStartHandler, Q$EventHandler]), TouchScroller$2_0);
_.onTouchStart = function onTouchStart_0(event_0){
  $onTouchStart(this.this$0, event_0);
}
;
_.this$0 = null;
function TouchScroller$3_0(this$0){
  this.this$0 = this$0;
}

defineSeed(493, 1, makeCastMap([Q$TouchMoveHandler, Q$EventHandler]), TouchScroller$3_0);
_.onTouchMove = function onTouchMove_0(event_0){
  $onTouchMove(this.this$0, event_0);
}
;
_.this$0 = null;
function TouchScroller$4_0(this$0){
  this.this$0 = this$0;
}

defineSeed(494, 1, makeCastMap([Q$TouchEndHandler, Q$EventHandler]), TouchScroller$4_0);
_.onTouchEnd = function onTouchEnd_0(event_0){
  $onTouchEnd(this.this$0);
}
;
_.this$0 = null;
function TouchScroller$5_0(this$0){
  this.this$0 = this$0;
}

defineSeed(495, 1, makeCastMap([Q$TouchCancelHandler, Q$EventHandler]), TouchScroller$5_0);
_.onTouchCancel = function onTouchCancel_0(event_0){
  $onTouchEnd(this.this$0);
}
;
_.this$0 = null;
function TouchScroller$6_0(this$0){
  this.this$0 = this$0;
}

defineSeed(496, 1, makeCastMap([Q$EventHandler, Q$Event$NativePreviewHandler]), TouchScroller$6_0);
_.onPreviewNativeEvent = function onPreviewNativeEvent_0(event_0){
  var clickPoint;
  if (1 == $eventGetTypeInt(event_0.nativeEvent.type)) {
    clickPoint = new Point_2(event_0.nativeEvent.clientX || 0, event_0.nativeEvent.clientY || 0);
    if ($isClickScrollTriggeringTouch(this.this$0, clickPoint) || $isClickTouchPositionDuringMomentum(this.this$0, clickPoint)) {
      event_0.isCanceled = true;
      event_0.nativeEvent.stopPropagation();
      event_0.nativeEvent.preventDefault();
    }
  }
}
;
_.this$0 = null;
function $finish(this$static){
  if (this$static.windowResizeHandler) {
    $removeHandler(this$static.windowResizeHandler.real);
    this$static.windowResizeHandler = null;
  }
  this$static == this$static.this$0.momentumCommand && (this$static.this$0.momentumCommand = null);
}

function TouchScroller$MomentumCommand_0(this$0, endVelocity){
  this.this$0 = this$0;
  this.duration = new Duration_0;
  this.initialPosition = $getWidgetScrollPosition(this.this$0);
  this.state = new Momentum$State_0(this.initialPosition, endVelocity);
  this.windowResizeHandler = addResizeHandler(new TouchScroller$MomentumCommand$1_0(this));
}

defineSeed(497, 1, {}, TouchScroller$MomentumCommand_0);
_.execute_0 = function execute_14(){
  var cumulativeElapsedMillis, hMax, hMin, hPos, notDone, vMax, vPos;
  if (this != this.this$0.momentumCommand) {
    $finish(this);
    return false;
  }
  cumulativeElapsedMillis = $elapsedMillis(this.duration);
  $setElapsedMillis(this.state, cumulativeElapsedMillis - this.lastElapsedMillis);
  this.lastElapsedMillis = cumulativeElapsedMillis;
  $setCumulativeElapsedMillis(this.state, cumulativeElapsedMillis);
  notDone = $updateState(this.state);
  notDone || $finish(this);
  $setWidgetScrollPosition(this.this$0, this.state.position_0);
  hPos = round_int(this.state.position_0.x);
  hMin = $getMinimumHorizontalScrollPosition_0(this.this$0.widget);
  hMax = $getMaximumHorizontalScrollPosition_0(this.this$0.widget);
  vMax = $getMaximumVerticalScrollPosition(this.this$0.widget);
  vPos = round_int(this.state.position_0.y);
  if ((vMax <= vPos || 0 >= vPos) && (hMax <= hPos || hMin >= hPos)) {
    $finish(this);
    return false;
  }
  return notDone;
}
;
_.lastElapsedMillis = 0;
_.state = null;
_.this$0 = null;
_.windowResizeHandler = null;
function TouchScroller$MomentumCommand$1_0(this$1){
  this.this$1 = this$1;
}

defineSeed(498, 1, makeCastMap([Q$ResizeHandler, Q$EventHandler]), TouchScroller$MomentumCommand$1_0);
_.onResize_0 = function onResize_6(event_0){
  $finish(this.this$1);
}
;
_.this$1 = null;
function TouchScroller$MomentumTouchRemovalCommand_0(this$0){
  this.this$0 = this$0;
}

defineSeed(499, 1, {}, TouchScroller$MomentumTouchRemovalCommand_0);
_.execute_0 = function execute_15(){
  var currentTime, iter, point;
  currentTime = currentTimeMillis();
  iter = new AbstractList$IteratorImpl_0(this.this$0.touchPositionsDuringMomentum);
  while (iter.i < iter.this$0_0.size_1()) {
    point = dynamicCast($next_3(iter), Q$TouchScroller$TemporalPoint);
    currentTime - point.time >= 2500 && $remove_21(iter);
  }
  return this.this$0.touchPositionsDuringMomentum.size_0 != 0;
}
;
_.this$0 = null;
function $setTemporalPoint(this$static, point, time){
  this$static.point = point;
  this$static.time = time;
}

function TouchScroller$TemporalPoint_0(){
}

function TouchScroller$TemporalPoint_1(point, time){
  this.point = point;
  this.time = time;
}

defineSeed(500, 1, makeCastMap([Q$TouchScroller$TemporalPoint]), TouchScroller$TemporalPoint_0, TouchScroller$TemporalPoint_1);
_.point = null;
_.time = 0;
defineSeed(501, 1, makeCastMap([Q$EventHandler]));
_.listener = null;
function CommandCanceledException_0(){
  $fillInStackTrace();
}

defineSeed(502, 300, makeCastMap([Q$Serializable, Q$Exception, Q$Throwable]), CommandCanceledException_0);
function $doCommandCanceled(this$static){
  var cmd;
  cmd = $getLast(this$static.iterator);
  $remove_5(this$static.iterator);
  instanceOf(cmd, Q$Command) && new CommandCanceledException_0(dynamicCast(cmd, Q$Command));
  this$static.executing = false;
  $maybeStartExecutionTimer(this$static);
}

function $doExecuteCommands(this$static, startTimeMillis){
  var command, element, wasCanceled;
  wasCanceled = false;
  try {
    this$static.executing = true;
    $setEnd(this$static.iterator, this$static.commands.size_0);
    $schedule(this$static.cancellationTimer, 10000);
    while ($hasNext(this$static.iterator)) {
      element = $next(this$static.iterator);
      try {
        if (element == null) {
          return;
        }
        if (instanceOf(element, Q$Command)) {
          command = dynamicCast(element, Q$Command);
          command.execute();
        }
      }
       finally {
        wasCanceled = this$static.iterator.last == -1;
        wasCanceled || $remove_5(this$static.iterator);
      }
      if (currentTimeMillis() - startTimeMillis >= 100) {
        return;
      }
    }
  }
   finally {
    if (!wasCanceled) {
      $cancel(this$static.cancellationTimer);
      this$static.executing = false;
      $maybeStartExecutionTimer(this$static);
    }
  }
}

function $maybeStartExecutionTimer(this$static){
  if (this$static.commands.size_0 != 0 && !this$static.executionTimerPending && !this$static.executing) {
    this$static.executionTimerPending = true;
    $schedule(this$static.executionTimer, 1);
  }
}

function $submit(this$static, command){
  $add_17(this$static.commands, command);
  $maybeStartExecutionTimer(this$static);
}

function CommandExecutor_0(){
  this.cancellationTimer = new CommandExecutor$1_0(this);
  this.commands = new ArrayList_0;
  this.executionTimer = new CommandExecutor$2_0(this);
  this.iterator = new CommandExecutor$CircularIterator_0(this);
}

defineSeed(503, 1, {}, CommandExecutor_0);
_.executing = false;
_.executionTimerPending = false;
function CommandExecutor$1_0(this$0){
  $clinit_Timer();
  this.this$0 = this$0;
}

defineSeed(504, 45, makeCastMap([Q$Timer]), CommandExecutor$1_0);
_.run = function run_7(){
  if (!this.this$0.executing) {
    return;
  }
  $doCommandCanceled(this.this$0);
}
;
_.this$0 = null;
function CommandExecutor$2_0(this$0){
  $clinit_Timer();
  this.this$0 = this$0;
}

defineSeed(505, 45, makeCastMap([Q$Timer]), CommandExecutor$2_0);
_.run = function run_8(){
  this.this$0.executionTimerPending = false;
  $doExecuteCommands(this.this$0, currentTimeMillis());
}
;
_.this$0 = null;
function $getLast(this$static){
  return $get_6(this$static.this$0.commands, this$static.last);
}

function $hasNext(this$static){
  return this$static.next < this$static.end;
}

function $next(this$static){
  var command;
  this$static.last = this$static.next;
  command = $get_6(this$static.this$0.commands, this$static.next++);
  this$static.next >= this$static.end && (this$static.next = 0);
  return command;
}

function $remove_5(this$static){
  $remove_14(this$static.this$0.commands, this$static.last);
  --this$static.end;
  this$static.last <= this$static.next && --this$static.next < 0 && (this$static.next = 0);
  this$static.last = -1;
}

function $setEnd(this$static, end){
  this$static.end = end;
}

function CommandExecutor$CircularIterator_0(this$0){
  this.this$0 = this$0;
}

defineSeed(506, 1, {}, CommandExecutor$CircularIterator_0);
_.hasNext = function hasNext_0(){
  return this.next < this.end;
}
;
_.next_0 = function next_1(){
  return $next(this);
}
;
_.remove_3 = function remove_12(){
  $remove_5(this);
}
;
_.end = 0;
_.last = -1;
_.next = 0;
_.this$0 = null;
function ensureCookies(){
  var newCachedCookies;
  if (!cachedCookies || needsRefresh()) {
    newCachedCookies = new HashMap_0;
    loadCookies(newCachedCookies);
    cachedCookies = newCachedCookies;
  }
  return cachedCookies;
}

function loadCookies(m_0){
  var docCookie = $doc.cookie;
  if (docCookie && docCookie != '') {
    var crumbs = docCookie.split('; ');
    for (var i = 0; i < crumbs.length; ++i) {
      var name_0, value;
      var eqIdx = crumbs[i].indexOf('=');
      if (eqIdx == -1) {
        name_0 = crumbs[i];
        value = '';
      }
       else {
        name_0 = crumbs[i].substring(0, eqIdx);
        value = crumbs[i].substring(eqIdx + 1);
      }
      if (uriEncoding) {
        try {
          name_0 = decodeURIComponent(name_0);
        }
         catch (e) {
        }
        try {
          value = decodeURIComponent(value);
        }
         catch (e) {
        }
      }
      m_0.put(name_0, value);
    }
  }
}

function needsRefresh(){
  var docCookie = $doc.cookie;
  if (docCookie != rawCookies) {
    rawCookies = docCookie;
    return true;
  }
   else {
    return false;
  }
}

function setCookie(name_0, value, expires, domain, path, secure){
  name_0 = encodeURIComponent(name_0);
  value = encodeURIComponent(value);
  setCookieImpl(name_0, value, toDouble(!expires?P0_longLit:fromDouble(expires.jsdate.getTime())), domain, path, secure);
}

function setCookieImpl(name_0, value, expires, domain, path, secure){
  var c = name_0 + '=' + value;
  expires && (c += ';expires=' + (new Date(expires)).toGMTString());
  domain && (c += ';domain=' + domain);
  path && (c += ';path=' + path);
  secure && (c += ';secure');
  $doc.cookie = c;
}

var cachedCookies = null, rawCookies = null, uriEncoding = true;
function appendChild(parent_0, child){
  $appendChild_0(parent_0, ($clinit_PotentialElement() , $resolve(child)));
}

function dispatchEvent_0(evt, elem, listener){
  var prevCurrentEvent;
  prevCurrentEvent = currentEvent;
  currentEvent = evt;
  elem == sCaptureElem && $eventGetTypeInt(evt.type) == 8192 && (sCaptureElem = null);
  listener.onBrowserEvent(evt);
  currentEvent = prevCurrentEvent;
}

function getStyleAttribute_0(elem, attr){
  return elem.style[attr];
}

function insertChild(parent_0, child, index){
  $insertChild_0(parent_0, ($clinit_PotentialElement() , $resolve(child)), index);
}

function isOrHasChild(parent_0, child){
  return parent_0.contains(child);
}

function previewEvent(evt){
  var ret;
  ret = fire_6(handlers_0, evt);
  if (!ret && !!evt) {
    evt.cancelBubble = true;
    evt.preventDefault();
  }
  return ret;
}

function releaseCapture(elem){
  !!sCaptureElem && elem == sCaptureElem && (sCaptureElem = null);
  $maybeInitializeEventSystem();
  elem === captureElem && (captureElem = null);
}

function setCapture(elem){
  sCaptureElem = elem;
  $maybeInitializeEventSystem();
  captureElem = elem;
}

function setInnerText(elem, text){
  $setInnerText(elem, text);
}

function setIntStyleAttribute(elem, value){
  elem.style['zIndex'] = '' + value;
}

function setStyleAttribute_0(elem, attr, value){
  elem.style[attr] = value;
}

function sinkEvents_1(elem, eventBits){
  $maybeInitializeEventSystem();
  $sinkEventsImpl(elem, eventBits);
}

var currentEvent = null, sCaptureElem = null;
function $clinit_DeferredCommand(){
  $clinit_DeferredCommand = nullMethod;
  commandExecutor = new CommandExecutor_0;
}

function addCommand(cmd){
  $clinit_DeferredCommand();
  if (!cmd) {
    throw new NullPointerException_1('cmd cannot be null');
  }
  $submit(commandExecutor, cmd);
}

var commandExecutor;
function $onModuleLoad(){
  var allowedModes, currentMode, i;
  currentMode = $doc.compatMode;
  allowedModes = initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['CSS1Compat']);
  for (i = 0; i < allowedModes.length; ++i) {
    if ($equals_2(allowedModes[i], currentMode)) {
      return;
    }
  }
  allowedModes.length == 1 && $equals_2('CSS1Compat', allowedModes[0]) && $equals_2('BackCompat', currentMode)?"GWT no longer supports Quirks Mode (document.compatMode=' BackCompat').<br>Make sure your application's host HTML page has a Standards Mode (document.compatMode=' CSS1Compat') doctype,<br>e.g. by using &lt;!doctype html&gt; at the start of your application's HTML page.<br><br>To continue using this unsupported rendering mode and risk layout problems, suppress this message by adding<br>the following line to your*.gwt.xml module file:<br>&nbsp;&nbsp;&lt;extend-configuration-property name=\"document.compatMode\" value=\"" + currentMode + '"/&gt;':"Your *.gwt.xml module configuration prohibits the use of the current doucment rendering mode (document.compatMode=' " + currentMode + "').<br>Modify your application's host HTML page doctype, or update your custom 'document.compatMode' configuration property settings.";
}

function addNativePreviewHandler(handler){
  $maybeInitializeEventSystem();
  !TYPE_18 && (TYPE_18 = new GwtEvent$Type_0);
  if (!handlers_0) {
    handlers_0 = new HandlerManager_1(null, true);
    singleton = new Event$NativePreviewEvent_0;
  }
  return $addHandler_0(handlers_0, TYPE_18, handler);
}

function sinkEvents_2(elem){
  $maybeInitializeEventSystem();
  $sinkEventsImpl(elem, 32768);
}

var handlers_0 = null;
function $revive(this$static){
  this$static.dead = false;
  this$static.source = null;
  this$static.isCanceled = false;
  this$static.isConsumed = false;
  this$static.isFirstHandler = true;
  this$static.nativeEvent = null;
}

function $setNativeEvent_0(this$static, nativeEvent){
  this$static.nativeEvent = nativeEvent;
}

function Event$NativePreviewEvent_0(){
}

function fire_6(handlers, nativeEvent){
  var lastIsCanceled, lastIsConsumed, lastIsFirstHandler, lastNativeEvent, ret;
  if (!!TYPE_18 && !!handlers && $isEventHandled(handlers, TYPE_18)) {
    lastIsCanceled = singleton.isCanceled;
    lastIsConsumed = singleton.isConsumed;
    lastIsFirstHandler = singleton.isFirstHandler;
    lastNativeEvent = singleton.nativeEvent;
    $revive(singleton);
    $setNativeEvent_0(singleton, nativeEvent);
    $fireEvent_4(handlers, singleton);
    ret = !(singleton.isCanceled && !singleton.isConsumed);
    singleton.isCanceled = lastIsCanceled;
    singleton.isConsumed = lastIsConsumed;
    singleton.isFirstHandler = lastIsFirstHandler;
    singleton.nativeEvent = lastNativeEvent;
    return ret;
  }
  return true;
}

defineSeed(513, 385, {}, Event$NativePreviewEvent_0);
_.dispatch = function dispatch_18(handler){
  dynamicCast(handler, Q$Event$NativePreviewHandler).onPreviewNativeEvent(this);
  singleton.isFirstHandler = false;
}
;
_.getAssociatedType = function getAssociatedType_19(){
  return TYPE_18;
}
;
_.revive = function revive_0(){
  $revive(this);
}
;
_.isCanceled = false;
_.isConsumed = false;
_.isFirstHandler = false;
_.nativeEvent = null;
var TYPE_18 = null, singleton = null;
function $clinit_History(){
  $clinit_History = nullMethod;
  impl_2 = new HistoryImplTimer_0;
  $init_0(impl_2) || (impl_2 = null);
}

function addValueChangeHandler(handler){
  $clinit_History();
  return impl_2?$addValueChangeHandler(impl_2, handler):null;
}

var impl_2 = null;
function nextInt(upperBound){
  return ~~Math.floor(Math.random() * upperBound);
}

function Timer$1_0(){
}

defineSeed(516, 1, makeCastMap([Q$CloseHandler, Q$EventHandler]), Timer$1_0);
_.onClose = function onClose(event_0){
  while (($clinit_Timer() , timers).size_0 > 0) {
    $cancel(dynamicCast($get_6(timers, 0), Q$Timer));
  }
}
;
function addCloseHandler(handler){
  maybeInitializeCloseHandlers();
  return addHandler(TYPE_14?TYPE_14:(TYPE_14 = new GwtEvent$Type_0), handler);
}

function addHandler(type, handler){
  return $addHandler_0((!handlers_1 && (handlers_1 = new Window$WindowHandlers_0) , handlers_1), type, handler);
}

function addResizeHandler(handler){
  maybeInitializeCloseHandlers();
  maybeInitializeResizeHandlers();
  return addHandler((!TYPE_15 && (TYPE_15 = new GwtEvent$Type_0) , TYPE_15), handler);
}

function alert_0(msg){
  $wnd.alert(msg);
}

function maybeInitializeCloseHandlers(){
  if (!closeHandlersInitialized) {
    $initWindowCloseHandler();
    closeHandlersInitialized = true;
  }
}

function maybeInitializeResizeHandlers(){
  if (!resizeHandlersInitialized) {
    $initWindowResizeHandler();
    resizeHandlersInitialized = true;
  }
}

function onClosing(){
  var event_0;
  if (closeHandlersInitialized) {
    event_0 = new Window$ClosingEvent_0;
    !!handlers_1 && $fireEvent_4(handlers_1, event_0);
    return null;
  }
  return null;
}

function onResize_7(){
  var height, width;
  if (resizeHandlersInitialized) {
    width = $getClientWidth_0($doc);
    height = $getClientHeight_0($doc);
    if (lastResizeWidth != width || lastResizeHeight != height) {
      lastResizeWidth = width;
      lastResizeHeight = height;
      fire_3((!handlers_1 && (handlers_1 = new Window$WindowHandlers_0) , handlers_1), width);
    }
  }
}

var closeHandlersInitialized = false, handlers_1 = null, lastResizeHeight = 0, lastResizeWidth = 0, resizeHandlersInitialized = false;
function $clinit_Window$ClosingEvent(){
  $clinit_Window$ClosingEvent = nullMethod;
  TYPE_19 = new GwtEvent$Type_0;
}

function Window$ClosingEvent_0(){
  $clinit_Window$ClosingEvent();
}

defineSeed(518, 385, {}, Window$ClosingEvent_0);
_.dispatch = function dispatch_19(handler){
  throwClassCastExceptionUnlessNull(handler);
  null.nullMethod();
}
;
_.getAssociatedType = function getAssociatedType_20(){
  return TYPE_19;
}
;
var TYPE_19;
function Window$WindowHandlers_0(){
  HandlerManager_0.call(this, null);
}

defineSeed(520, 415, makeCastMap([Q$HasHandlers]), Window$WindowHandlers_0);
function $eventGetTypeInt(eventType){
  switch (eventType) {
    case 'blur':
      return 4096;
    case 'change':
      return 1024;
    case 'click':
      return 1;
    case 'dblclick':
      return 2;
    case 'focus':
      return 2048;
    case 'keydown':
      return 128;
    case 'keypress':
      return 256;
    case 'keyup':
      return 512;
    case 'load':
      return 32768;
    case 'losecapture':
      return 8192;
    case 'mousedown':
      return 4;
    case 'mousemove':
      return 64;
    case 'mouseout':
      return 32;
    case 'mouseover':
      return 16;
    case 'mouseup':
      return 8;
    case 'scroll':
      return 16384;
    case 'error':
      return 65536;
    case 'DOMMouseScroll':
    case 'mousewheel':
      return 131072;
    case 'contextmenu':
      return 262144;
    case 'paste':
      return 524288;
    case 'touchstart':
      return 1048576;
    case 'touchmove':
      return 2097152;
    case 'touchend':
      return 4194304;
    case 'touchcancel':
      return 8388608;
    case 'gesturestart':
      return 16777216;
    case 'gesturechange':
      return 33554432;
    case 'gestureend':
      return 67108864;
    default:return -1;
  }
}

--></script>
<script><!--
function $maybeInitializeEventSystem(){
  if (!eventSystemIsInitialized) {
    $initEventSystem();
    eventSystemIsInitialized = true;
  }
}

function $setEventListener(elem, listener){
  elem.__listener = listener;
}

function isMyListener(object){
  return !instanceOfJso(object) && instanceOf(object, Q$EventListener);
}

var eventSystemIsInitialized = false;
function $eventGetToElement(evt){
  if ($equals_2(evt.type, 'mouseover')) {
    return evt.target;
  }
  if ($equals_2(evt.type, 'mouseout')) {
    return evt.relatedTarget;
  }
  return null;
}

function $getChild_0(elem, index){
  var count = 0, child = elem.firstChild;
  while (child) {
    if (child.nodeType == 1) {
      if (index == count)
        return child;
      ++count;
    }
    child = child.nextSibling;
  }
  return null;
}

function $getChildCount(elem){
  var count = 0, child = elem.firstChild;
  while (child) {
    child.nodeType == 1 && ++count;
    child = child.nextSibling;
  }
  return count;
}

function $getChildIndex(parent_0, toFind){
  var count = 0, child = parent_0.firstChild;
  while (child) {
    if (child === toFind) {
      return count;
    }
    child.nodeType == 1 && ++count;
    child = child.nextSibling;
  }
  return -1;
}

function $initEventSystem(){
  dispatchCapturedEvent = $entry(function(evt){
    if (!previewEvent(evt)) {
      evt.stopPropagation();
      evt.preventDefault();
      return false;
    }
    return true;
  }
  );
  dispatchEvent_1 = $entry(function(evt){
    var listener, curElem = this;
    while (curElem && !(listener = curElem.__listener)) {
      curElem = curElem.parentNode;
    }
    curElem && curElem.nodeType != 1 && (curElem = null);
    listener && isMyListener(listener) && dispatchEvent_0(evt, curElem, listener);
  }
  );
  dispatchDragEvent = $entry(function(evt){
    evt.preventDefault();
    dispatchEvent_1.call(this, evt);
  }
  );
  dispatchUnhandledEvent = $entry(function(evt){
    this.__gwtLastUnhandledEvent = evt.type;
    dispatchEvent_1.call(this, evt);
  }
  );
  dispatchCapturedMouseEvent = $entry(function(evt){
    var dispatchCapturedEventFn = dispatchCapturedEvent;
    if (dispatchCapturedEventFn(evt)) {
      var cap = captureElem;
      if (cap && cap.__listener) {
        if (isMyListener(cap.__listener)) {
          dispatchEvent_0(evt, cap, cap.__listener);
          evt.stopPropagation();
        }
      }
    }
  }
  );
  $wnd.addEventListener('click', dispatchCapturedMouseEvent, true);
  $wnd.addEventListener('dblclick', dispatchCapturedMouseEvent, true);
  $wnd.addEventListener('mousedown', dispatchCapturedMouseEvent, true);
  $wnd.addEventListener('mouseup', dispatchCapturedMouseEvent, true);
  $wnd.addEventListener('mousemove', dispatchCapturedMouseEvent, true);
  $wnd.addEventListener('mouseover', dispatchCapturedMouseEvent, true);
  $wnd.addEventListener('mouseout', dispatchCapturedMouseEvent, true);
  $wnd.addEventListener('mousewheel', dispatchCapturedMouseEvent, true);
  $wnd.addEventListener('keydown', dispatchCapturedEvent, true);
  $wnd.addEventListener('keyup', dispatchCapturedEvent, true);
  $wnd.addEventListener('keypress', dispatchCapturedEvent, true);
  $wnd.addEventListener('touchstart', dispatchCapturedMouseEvent, true);
  $wnd.addEventListener('touchmove', dispatchCapturedMouseEvent, true);
  $wnd.addEventListener('touchend', dispatchCapturedMouseEvent, true);
  $wnd.addEventListener('touchcancel', dispatchCapturedMouseEvent, true);
  $wnd.addEventListener('gesturestart', dispatchCapturedMouseEvent, true);
  $wnd.addEventListener('gesturechange', dispatchCapturedMouseEvent, true);
  $wnd.addEventListener('gestureend', dispatchCapturedMouseEvent, true);
}

function $insertChild_0(parent_0, toAdd, index){
  var count = 0, child = parent_0.firstChild, before = null;
  while (child) {
    if (child.nodeType == 1) {
      if (count == index) {
        before = child;
        break;
      }
      ++count;
    }
    child = child.nextSibling;
  }
  parent_0.insertBefore(toAdd, before);
}

function $sinkBitlessEvent_0(elem, eventTypeName){
  $maybeInitializeEventSystem();
  $sinkBitlessEventImpl(elem, eventTypeName);
}

function $sinkBitlessEventImpl(elem, eventTypeName){
  switch (eventTypeName) {
    case 'drag':
      elem.ondrag = dispatchEvent_1;
      break;
    case 'dragend':
      elem.ondragend = dispatchEvent_1;
      break;
    case 'dragenter':
      elem.ondragenter = dispatchDragEvent;
      break;
    case 'dragleave':
      elem.ondragleave = dispatchEvent_1;
      break;
    case 'dragover':
      elem.ondragover = dispatchDragEvent;
      break;
    case 'dragstart':
      elem.ondragstart = dispatchEvent_1;
      break;
    case 'drop':
      elem.ondrop = dispatchEvent_1;
      break;
    case 'canplaythrough':
    case 'ended':
    case 'progress':
      elem.removeEventListener(eventTypeName, dispatchEvent_1, false);
      elem.addEventListener(eventTypeName, dispatchEvent_1, false);
      break;
    default:throw 'Trying to sink unknown event type ' + eventTypeName;
  }
}

function $sinkEvents_1(elem, bits){
  $maybeInitializeEventSystem();
  $sinkEventsImpl(elem, bits);
}

var captureElem = null, dispatchCapturedEvent = null, dispatchCapturedMouseEvent = null, dispatchDragEvent = null, dispatchEvent_1 = null, dispatchUnhandledEvent = null;
function $sinkEventsImpl(elem, bits){
  elem.__eventBits = bits;
  elem.onclick = bits & 1?dispatchEvent_1:null;
  elem.ondblclick = bits & 2?dispatchEvent_1:null;
  elem.onmousedown = bits & 4?dispatchEvent_1:null;
  elem.onmouseup = bits & 8?dispatchEvent_1:null;
  elem.onmouseover = bits & 16?dispatchEvent_1:null;
  elem.onmouseout = bits & 32?dispatchEvent_1:null;
  elem.onmousemove = bits & 64?dispatchEvent_1:null;
  elem.onkeydown = bits & 128?dispatchEvent_1:null;
  elem.onkeypress = bits & 256?dispatchEvent_1:null;
  elem.onkeyup = bits & 512?dispatchEvent_1:null;
  elem.onchange = bits & 1024?dispatchEvent_1:null;
  elem.onfocus = bits & 2048?dispatchEvent_1:null;
  elem.onblur = bits & 4096?dispatchEvent_1:null;
  elem.onlosecapture = bits & 8192?dispatchEvent_1:null;
  elem.onscroll = bits & 16384?dispatchEvent_1:null;
  elem.onload = bits & 32768?dispatchUnhandledEvent:null;
  elem.onerror = bits & 65536?dispatchEvent_1:null;
  elem.onmousewheel = bits & 131072?dispatchEvent_1:null;
  elem.oncontextmenu = bits & 262144?dispatchEvent_1:null;
  elem.onpaste = bits & 524288?dispatchEvent_1:null;
}

function $get_5(this$static, elem){
  var index;
  index = getIndex(elem);
  if (index < 0) {
    return null;
  }
  return dynamicCast($get_6(this$static.uiObjectList, index), Q$UIObject);
}

function $put_4(this$static, uiObject){
  var index;
  if (!this$static.freeList) {
    index = this$static.uiObjectList.size_0;
    $add_17(this$static.uiObjectList, uiObject);
  }
   else {
    index = this$static.freeList.index_0;
    $set_11(this$static.uiObjectList, index, uiObject);
    this$static.freeList = this$static.freeList.next;
  }
  uiObject.getElement()['__uiObjectID'] = index;
}

function $removeByElement(this$static, elem){
  var index;
  index = getIndex(elem);
  elem['__uiObjectID'] = null;
  $set_11(this$static.uiObjectList, index, null);
  this$static.freeList = new ElementMapperImpl$FreeNode_0(index, this$static.freeList);
}

function ElementMapperImpl_0(){
  this.uiObjectList = new ArrayList_0;
}

function getIndex(elem){
  var index = elem['__uiObjectID'];
  return index == null?-1:index;
}

defineSeed(524, 1, {}, ElementMapperImpl_0);
_.freeList = null;
function ElementMapperImpl$FreeNode_0(index, next){
  this.index_0 = index;
  this.next = next;
}

defineSeed(525, 1, {}, ElementMapperImpl$FreeNode_0);
_.index_0 = 0;
_.next = null;
function $addValueChangeHandler(this$static, handler){
  return $addHandler_0(this$static.handlers, (!TYPE_17 && (TYPE_17 = new GwtEvent$Type_0) , TYPE_17), handler);
}

function setToken(token){
  token_1 = token;
}

defineSeed(526, 1, makeCastMap([Q$HasValueChangeHandlers, Q$HasHandlers]));
_.decodeFragment = function decodeFragment(encodedFragment){
  return decodeURI(encodedFragment.replace('%23', '#'));
}
;
_.fireEvent = function fireEvent_1(event_0){
  $fireEvent_4(this.handlers, event_0);
}
;
_.newItemOnEvent = function newItemOnEvent(historyToken){
  historyToken = historyToken == null?'':historyToken;
  if (!$equals_2(historyToken, token_1 == null?'':token_1)) {
    token_1 = historyToken;
    fire_5(this);
  }
}
;
var token_1 = '';
function $init_0(this$static){
  var token_0 = '';
  var hash_0 = $wnd.location.hash;
  hash_0.length > 0 && (token_0 = this$static.decodeFragment(hash_0.substring(1)));
  setToken(token_0);
  var historyImpl = this$static;
  var checkHistory = $entry(function(){
    var token = '', hash = $wnd.location.hash;
    hash.length > 0 && (token = historyImpl.decodeFragment(hash.substring(1)));
    historyImpl.newItemOnEvent(token);
  }
  );
  var checkHistoryCycle = function(){
    $wnd.setTimeout(checkHistoryCycle, 250);
    checkHistory();
  }
  ;
  checkHistoryCycle();
  return true;
}

function HistoryImplTimer_0(){
  this.handlers = new HandlerManager_0(null);
}

defineSeed(527, 526, makeCastMap([Q$HasValueChangeHandlers, Q$HasHandlers]), HistoryImplTimer_0);
function $initWindowCloseHandler(){
  var oldOnBeforeUnload = $wnd.onbeforeunload;
  var oldOnUnload = $wnd.onunload;
  $wnd.onbeforeunload = function(evt){
    var ret, oldRet;
    try {
      ret = $entry(onClosing)();
    }
     finally {
      oldRet = oldOnBeforeUnload && oldOnBeforeUnload(evt);
    }
    if (ret != null) {
      return ret;
    }
    if (oldRet != null) {
      return oldRet;
    }
  }
  ;
  $wnd.onunload = $entry(function(evt){
    try {
      closeHandlersInitialized && fire_2((!handlers_1 && (handlers_1 = new Window$WindowHandlers_0) , handlers_1));
    }
     finally {
      oldOnUnload && oldOnUnload(evt);
      $wnd.onresize = null;
      $wnd.onscroll = null;
      $wnd.onbeforeunload = null;
      $wnd.onunload = null;
    }
  }
  );
}

function $initWindowResizeHandler(){
  var oldOnResize = $wnd.onresize;
  $wnd.onresize = $entry(function(evt){
    try {
      onResize_7();
    }
     finally {
      oldOnResize && oldOnResize(evt);
    }
  }
  );
}

function $adopt(this$static, child){
  $setParent(child, this$static);
}

function $clear(this$static){
  var it;
  it = new WidgetCollection$WidgetIterator_0(this$static.children_0);
  while (it.index_0 < it.this$0.size_0 - 1) {
    $next_2(it);
    $remove_19(it);
  }
}

defineSeed(531, 145, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$HasWidgets, Q$HasWidgets$ForIsWidget, Q$IsWidget, Q$Panel, Q$UIObject, Q$Widget, Q$Iterable]));
_.doAttachChildren = function doAttachChildren_5(){
  tryCommand(this, ($clinit_AttachDetachException() , attachCommand));
}
;
_.doDetachChildren = function doDetachChildren_6(){
  tryCommand(this, ($clinit_AttachDetachException() , detachCommand));
}
;
function $add_10(this$static, child, container){
  child.removeFromParent();
  $add_19(this$static.children_0, child);
  $appendChild_0(container, ($clinit_PotentialElement() , $resolve(child.getElement())));
  $setParent(child, this$static);
}

function $adjustIndex_0(this$static, child, beforeIndex){
  var idx;
  $checkIndexBoundsForInsertion(this$static, beforeIndex);
  if (child.parent_0 == this$static) {
    idx = $indexOf_2(this$static.children_0, child);
    idx < beforeIndex && --beforeIndex;
  }
  return beforeIndex;
}

function $checkIndexBoundsForAccess(this$static, index){
  if (index < 0 || index >= this$static.children_0.size_0) {
    throw new IndexOutOfBoundsException_0;
  }
}

function $checkIndexBoundsForInsertion(this$static, index){
  if (index < 0 || index > this$static.children_0.size_0) {
    throw new IndexOutOfBoundsException_0;
  }
}

function $getWidget(this$static, index){
  return $get_7(this$static.children_0, index);
}

function $getWidgetIndex(this$static, child){
  return $indexOf_2(this$static.children_0, child);
}

function $insert_4(this$static, child, container, beforeIndex, domInsert){
  beforeIndex = $adjustIndex_0(this$static, child, beforeIndex);
  child.removeFromParent();
  $insert_9(this$static.children_0, child, beforeIndex);
  domInsert?insertChild(container, child.getElement(), beforeIndex):$appendChild_0(container, ($clinit_PotentialElement() , $resolve(child.getElement())));
  $setParent(child, this$static);
}

function $remove_6(this$static, index){
  return $remove_13(this$static, $get_7(this$static.children_0, index));
}

function $remove_7(this$static, w){
  var elem;
  if (w.parent_0 != this$static) {
    return false;
  }
  try {
    $setParent(w, null);
  }
   finally {
    elem = w.getElement();
    $removeChild($getParentElement(elem), elem);
    $remove_18(this$static.children_0, w);
  }
  return true;
}

function ComplexPanel_0(){
  this.children_0 = new WidgetCollection_0(this);
}

defineSeed(530, 531, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$ComplexPanel, Q$HasVisibility, Q$HasWidgets, Q$HasWidgets$ForIsWidget, Q$IndexedPanel, Q$IndexedPanel$ForIsWidget, Q$IsWidget, Q$Panel, Q$UIObject, Q$Widget, Q$Iterable]));
_.getWidgetIndex = function getWidgetIndex(child){
  return $indexOf_2(this.children_0, child);
}
;
_.iterator_0 = function iterator_4(){
  return new WidgetCollection$WidgetIterator_0(this.children_0);
}
;
_.remove_5 = function remove_13(w){
  return $remove_7(this, w);
}
;
function $add_11(this$static, w){
  $add_10(this$static, w, this$static.element);
}

function $add_12(this$static, w, left, top_0){
  var beforeIndex;
  w.removeFromParent();
  beforeIndex = this$static.children_0.size_0;
  this$static.setWidgetPositionImpl(w, left, top_0);
  $insert_4(this$static, w, this$static.element, beforeIndex, true);
}

function $checkWidgetParent(this$static, w){
  if (w.parent_0 != this$static) {
    throw new IllegalArgumentException_0('Widget must be a child of this panel.');
  }
}

function $remove_8(this$static, w){
  var removed;
  removed = $remove_7(this$static, w);
  removed && changeToStaticPositioning(w.getElement());
  return removed;
}

function $setWidgetPosition(this$static, w, left, top_0){
  $checkWidgetParent(this$static, w);
  this$static.setWidgetPositionImpl(w, left, top_0);
}

function $setWidgetPositionImpl(w, left, top_0){
  var h_0;
  h_0 = w.getElement();
  if (left == -1 && top_0 == -1) {
    changeToStaticPositioning(h_0);
  }
   else {
    h_0.style['position'] = 'absolute';
    h_0.style['left'] = left + 'px';
    h_0.style['top'] = top_0 + 'px';
  }
}

function AbsolutePanel_0(){
  AbsolutePanel_1.call(this, $doc.createElement('div'));
  this.element.style['position'] = 'relative';
  this.element.style['overflow'] = 'hidden';
}

function AbsolutePanel_1(elem){
  ComplexPanel_0.call(this);
  this.element = elem;
}

function changeToStaticPositioning(elem){
  elem.style['left'] = '';
  elem.style['top'] = '';
  elem.style['position'] = '';
}

defineSeed(529, 530, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$AbsolutePanel, Q$ComplexPanel, Q$HasVisibility, Q$HasWidgets, Q$HasWidgets$ForIsWidget, Q$IndexedPanel, Q$IndexedPanel$ForIsWidget, Q$InsertPanel, Q$InsertPanel$ForIsWidget, Q$IsWidget, Q$Panel, Q$UIObject, Q$Widget, Q$Iterable]), AbsolutePanel_0);
_.insert_0 = function insert_3(w, beforeIndex){
  $insert_4(this, w, this.element, beforeIndex, true);
}
;
_.remove_5 = function remove_14(w){
  return $remove_8(this, w);
}
;
_.setWidgetPositionImpl = function setWidgetPositionImpl(w, left, top_0){
  $setWidgetPositionImpl(w, left, top_0);
}
;
defineSeed(532, 1, {});
function $clinit_AttachDetachException(){
  $clinit_AttachDetachException = nullMethod;
  attachCommand = new AttachDetachException$1_0;
  detachCommand = new AttachDetachException$2_0;
}

function AttachDetachException_0(causes){
  UmbrellaException_2.call(this, causes);
}

function tryCommand(hasWidgets, c){
  $clinit_AttachDetachException();
  var caught, e, w, w$iterator;
  caught = null;
  for (w$iterator = hasWidgets.iterator_0(); w$iterator.hasNext();) {
    w = dynamicCast(w$iterator.next_0(), Q$Widget);
    try {
      c.execute_1(w);
    }
     catch ($e0) {
      $e0 = caught_0($e0);
      if (instanceOf($e0, Q$Throwable)) {
        e = $e0;
        !caught && (caught = new HashSet_0);
        $add_20(caught, e);
      }
       else 
        throw $e0;
    }
  }
  if (caught) {
    throw new AttachDetachException_0(caught);
  }
}

defineSeed(533, 420, makeCastMap([Q$UmbrellaException, Q$Serializable, Q$Exception, Q$Throwable]), AttachDetachException_0);
var attachCommand, detachCommand;
function AttachDetachException$1_0(){
}

defineSeed(534, 1, {}, AttachDetachException$1_0);
_.execute_1 = function execute_16(w){
  w.onAttach();
}
;
function AttachDetachException$2_0(){
}

defineSeed(535, 1, {}, AttachDetachException$2_0);
_.execute_1 = function execute_17(w){
  w.onDetach();
}
;
function $onAttach_1(this$static){
  var tabIndex;
  $onAttach(this$static);
  tabIndex = this$static.getTabIndex();
  -1 == tabIndex && this$static.setTabIndex(0);
}

function $setEnabled_0(this$static, enabled){
  this$static.element['disabled'] = !enabled;
}

function FocusWidget_0(elem){
  this.element = elem;
}

defineSeed(538, 145, makeCastMap([Q$HasAllDragAndDropHandlers, Q$HasAllFocusHandlers, Q$HasAllGestureHandlers, Q$HasAllKeyHandlers, Q$HasAllMouseHandlers, Q$HasAllTouchHandlers, Q$HasBlurHandlers, Q$HasClickHandlers, Q$HasDoubleClickHandlers, Q$HasDragEndHandlers, Q$HasDragEnterHandlers, Q$HasDragHandlers, Q$HasDragLeaveHandlers, Q$HasDragOverHandlers, Q$HasDragStartHandlers, Q$HasDropHandlers, Q$HasFocusHandlers, Q$HasGestureChangeHandlers, Q$HasGestureEndHandlers, Q$HasGestureStartHandlers, Q$HasKeyDownHandlers, Q$HasKeyPressHandlers, Q$HasKeyUpHandlers, Q$HasMouseDownHandlers, Q$HasMouseMoveHandlers, Q$HasMouseOutHandlers, Q$HasMouseOverHandlers, Q$HasMouseUpHandlers, Q$HasMouseWheelHandlers, Q$HasTouchCancelHandlers, Q$HasTouchEndHandlers, Q$HasTouchMoveHandlers, Q$HasTouchStartHandlers, Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$FocusWidget, Q$Focusable, Q$HasEnabled, Q$HasFocus, Q$HasVisibility, Q$IsWidget, Q$SourcesClickEvents, Q$SourcesFocusEvents, Q$SourcesKeyboardEvents, Q$SourcesMouseEvents, Q$UIObject, Q$Widget]));
_.getTabIndex = function getTabIndex(){
  return this.element.tabIndex;
}
;
_.onAttach = function onAttach_3(){
  $onAttach_1(this);
}
;
_.setTabIndex = function setTabIndex_2(index){
  $setTabIndex_2(this.element, index);
}
;
function ButtonBase_0(elem){
  this.element = elem;
}

defineSeed(537, 538, makeCastMap([Q$HasAllDragAndDropHandlers, Q$HasAllFocusHandlers, Q$HasAllGestureHandlers, Q$HasAllKeyHandlers, Q$HasAllMouseHandlers, Q$HasAllTouchHandlers, Q$HasBlurHandlers, Q$HasClickHandlers, Q$HasDoubleClickHandlers, Q$HasDragEndHandlers, Q$HasDragEnterHandlers, Q$HasDragHandlers, Q$HasDragLeaveHandlers, Q$HasDragOverHandlers, Q$HasDragStartHandlers, Q$HasDropHandlers, Q$HasFocusHandlers, Q$HasGestureChangeHandlers, Q$HasGestureEndHandlers, Q$HasGestureStartHandlers, Q$HasKeyDownHandlers, Q$HasKeyPressHandlers, Q$HasKeyUpHandlers, Q$HasMouseDownHandlers, Q$HasMouseMoveHandlers, Q$HasMouseOutHandlers, Q$HasMouseOverHandlers, Q$HasMouseUpHandlers, Q$HasMouseWheelHandlers, Q$HasTouchCancelHandlers, Q$HasTouchEndHandlers, Q$HasTouchMoveHandlers, Q$HasTouchStartHandlers, Q$HasAttachHandlers, Q$HasHandlers, Q$HasSafeHtml, Q$EventListener, Q$ButtonBase, Q$FocusWidget, Q$Focusable, Q$HasEnabled, Q$HasFocus, Q$HasHTML, Q$HasText, Q$HasVisibility, Q$IsWidget, Q$SourcesClickEvents, Q$SourcesFocusEvents, Q$SourcesKeyboardEvents, Q$SourcesMouseEvents, Q$UIObject, Q$Widget]));
function Button_2(html){
  var e;
  ButtonBase_0.call(this, (e = $doc.createElement('BUTTON') , e.type = 'button' , e));
  this.element['className'] = 'gwt-Button';
  $setInnerHTML(this.element, html);
}

defineSeed(536, 537, makeCastMap([Q$HasAllDragAndDropHandlers, Q$HasAllFocusHandlers, Q$HasAllGestureHandlers, Q$HasAllKeyHandlers, Q$HasAllMouseHandlers, Q$HasAllTouchHandlers, Q$HasBlurHandlers, Q$HasClickHandlers, Q$HasDoubleClickHandlers, Q$HasDragEndHandlers, Q$HasDragEnterHandlers, Q$HasDragHandlers, Q$HasDragLeaveHandlers, Q$HasDragOverHandlers, Q$HasDragStartHandlers, Q$HasDropHandlers, Q$HasFocusHandlers, Q$HasGestureChangeHandlers, Q$HasGestureEndHandlers, Q$HasGestureStartHandlers, Q$HasKeyDownHandlers, Q$HasKeyPressHandlers, Q$HasKeyUpHandlers, Q$HasMouseDownHandlers, Q$HasMouseMoveHandlers, Q$HasMouseOutHandlers, Q$HasMouseOverHandlers, Q$HasMouseUpHandlers, Q$HasMouseWheelHandlers, Q$HasTouchCancelHandlers, Q$HasTouchEndHandlers, Q$HasTouchMoveHandlers, Q$HasTouchStartHandlers, Q$HasAttachHandlers, Q$HasHandlers, Q$HasSafeHtml, Q$EventListener, Q$Button_0, Q$ButtonBase, Q$FocusWidget, Q$Focusable, Q$HasEnabled, Q$HasFocus, Q$HasHTML, Q$HasText, Q$HasVisibility, Q$IsWidget, Q$SourcesClickEvents, Q$SourcesFocusEvents, Q$SourcesKeyboardEvents, Q$SourcesMouseEvents, Q$UIObject, Q$Widget]), Button_2);
function $getWidgetTd(this$static, w){
  if (w.parent_0 != this$static) {
    return null;
  }
  return $getParentElement(w.getElement());
}

function $setCellHeight(this$static, w){
  var td;
  td = $getWidgetTd(this$static, w);
  !!td && (td['height'] = '100%' , undefined);
}

function $setCellWidth(this$static, w){
  var td;
  td = $getWidgetTd(this$static, w);
  !!td && (td['width'] = '100%' , undefined);
}

function CellPanel_0(){
  ComplexPanel_0.call(this);
  this.table = $doc.createElement('table');
  this.body_0 = $doc.createElement('tbody');
  $appendChild_0(this.table, ($clinit_PotentialElement() , $resolve(this.body_0)));
  $setElement(this, this.table);
}

defineSeed(539, 530, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$CellPanel, Q$ComplexPanel, Q$HasVisibility, Q$HasWidgets, Q$HasWidgets$ForIsWidget, Q$IndexedPanel, Q$IndexedPanel$ForIsWidget, Q$IsWidget, Q$Panel, Q$UIObject, Q$Widget, Q$Iterable]));
_.body_0 = null;
_.table = null;
function $initWidget(this$static, widget){
  var elem;
  if (this$static.widget) {
    throw new IllegalStateException_1('Composite.initWidget() may only be called once.');
  }
  $removeFromParent_0(widget);
  elem = widget.element;
  this$static.element = elem;
  isPotential(elem) && $setResolver(($clinit_PotentialElement() , elem), this$static);
  this$static.widget = widget;
  $setParent(widget, this$static);
}

defineSeed(540, 145, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsWidget, Q$UIObject, Q$Widget]));
_.isAttached = function isAttached_1(){
  if (this.widget) {
    return this.widget.attached;
  }
  return false;
}
;
_.onAttach = function onAttach_4(){
  if (this.eventsToSink != -1) {
    $sinkEvents(this.widget, this.eventsToSink);
    this.eventsToSink = -1;
  }
  this.widget.onAttach();
  this.element.__listener = this;
  fire_0(this, true);
}
;
_.onBrowserEvent = function onBrowserEvent_3(event_0){
  $onBrowserEvent(this, event_0);
  this.widget.onBrowserEvent(event_0);
}
;
_.onDetach = function onDetach_5(){
  try {
    fire_0(this, false);
  }
   finally {
    this.widget.onDetach();
  }
}
;
_.resolvePotentialElement = function resolvePotentialElement_0(){
  $setElement(this, $resolvePotentialElement());
  return this.element;
}
;
_.widget = null;
function $cleanupCaptureState(this$static){
  if (this$static.isCapturing || this$static.isFocusing) {
    releaseCapture(this$static.element);
    this$static.isCapturing = false;
    this$static.isFocusing = false;
  }
}

function $getCurrentFace(this$static){
  !this$static.curFace && $setCurrentFace_0(this$static, this$static.up);
  return this$static.curFace;
}

function $getFaceFromID(this$static, id){
  switch (id) {
    case 1:
      return !this$static.down && $setDownFace(this$static, new CustomButton$2_0(this$static, this$static.up, 'down', 1)) , this$static.down;
    case 0:
      return this$static.up;
    case 3:
      return !this$static.downHovering && $setDownHoveringFace(this$static, new CustomButton$2_0(this$static, (!this$static.down && $setDownFace(this$static, new CustomButton$2_0(this$static, this$static.up, 'down', 1)) , this$static.down), 'down-hovering', 3)) , this$static.downHovering;
    case 2:
      return !this$static.upHovering && $setUpHoveringFace(this$static, new CustomButton$2_0(this$static, this$static.up, 'up-hovering', 2)) , this$static.upHovering;
    case 4:
      return !this$static.upDisabled && $setUpDisabledFace(this$static, new CustomButton$2_0(this$static, this$static.up, 'up-disabled', 4)) , this$static.upDisabled;
    case 5:
      return !this$static.downDisabled && $setDownDisabledFace(this$static, new CustomButton$2_0(this$static, (!this$static.down && $setDownFace(this$static, new CustomButton$2_0(this$static, this$static.up, 'down', 1)) , this$static.down), 'down-disabled', 5)) , this$static.downDisabled;
    default:throw new IllegalStateException_1(id + ' is not a known face id.');
  }
}

function $isDown(this$static){
  return (1 & (!this$static.curFace && $setCurrentFace_0(this$static, this$static.up) , this$static.curFace.val$faceID)) > 0;
}

function $setAriaPressed(this$static, newFace){
  var pressed;
  pressed = (newFace.val$faceID & 1) == 1;
  $clinit_Roles();
  $setAriaPressedState(this$static.element, pressed?0:1);
}

function $setCurrentFace(this$static, faceID){
  var newFace;
  newFace = $getFaceFromID(this$static, faceID);
  $setCurrentFace_0(this$static, newFace);
}

function $setCurrentFace_0(this$static, newFace){
  if (this$static.curFace != newFace) {
    !!this$static.curFace && $removeStyleDependentName(this$static, this$static.curFace.val$name);
    this$static.curFace = newFace;
    $setCurrentFaceElement(this$static, $getFace(newFace));
    $addStyleDependentName(this$static, this$static.curFace.val$name);
    !this$static.element['disabled'] && $setAriaPressed(this$static, newFace);
  }
}

function $setCurrentFaceElement(this$static, newFaceElement){
  if (this$static.curFaceElement != newFaceElement) {
    !!this$static.curFaceElement && $removeChild(this$static.element, this$static.curFaceElement);
    this$static.curFaceElement = newFaceElement;
    appendChild(this$static.element, this$static.curFaceElement);
  }
}

function $setDown(this$static){
  (1 & (!this$static.curFace && $setCurrentFace_0(this$static, this$static.up) , this$static.curFace.val$faceID)) > 0 && $toggleDown(this$static);
}

function $setDownDisabledFace(this$static, downDisabled){
  this$static.downDisabled = downDisabled;
}

function $setDownFace(this$static, down){
  this$static.down = down;
}

function $setDownHoveringFace(this$static, downHovering){
  this$static.downHovering = downHovering;
}

function $setEnabled_1(this$static, enabled){
  var newFaceID;
  if (!this$static.element['disabled'] != enabled) {
    newFaceID = (!this$static.curFace && $setCurrentFace_0(this$static, this$static.up) , this$static.curFace.val$faceID) ^ 4;
    newFaceID &= -3;
    $setCurrentFace(this$static, newFaceID);
    this$static.element['disabled'] = !enabled;
    if (enabled) {
      $setAriaPressed(this$static, (!this$static.curFace && $setCurrentFace_0(this$static, this$static.up) , this$static.curFace));
    }
     else {
      $cleanupCaptureState(this$static);
      $clinit_Roles();
      $removeAriaPressedState(this$static.element);
    }
  }
}

function $setUpDisabledFace(this$static, upDisabled){
  this$static.upDisabled = upDisabled;
}

function $setUpFace(this$static, up){
  this$static.up = up;
}

function $setUpHoveringFace(this$static, upHovering){
  this$static.upHovering = upHovering;
}

function $toggleDown(this$static){
  var newFaceID;
  newFaceID = (!this$static.curFace && $setCurrentFace_0(this$static, this$static.up) , this$static.curFace.val$faceID) ^ 1;
  $setCurrentFace(this$static, newFaceID);
}

function $toggleHover(this$static){
  var newFaceID;
  newFaceID = (!this$static.curFace && $setCurrentFace_0(this$static, this$static.up) , this$static.curFace.val$faceID) ^ 2;
  newFaceID &= -5;
  $setCurrentFace(this$static, newFaceID);
}

defineSeed(541, 537, makeCastMap([Q$HasAllDragAndDropHandlers, Q$HasAllFocusHandlers, Q$HasAllGestureHandlers, Q$HasAllKeyHandlers, Q$HasAllMouseHandlers, Q$HasAllTouchHandlers, Q$HasBlurHandlers, Q$HasClickHandlers, Q$HasDoubleClickHandlers, Q$HasDragEndHandlers, Q$HasDragEnterHandlers, Q$HasDragHandlers, Q$HasDragLeaveHandlers, Q$HasDragOverHandlers, Q$HasDragStartHandlers, Q$HasDropHandlers, Q$HasFocusHandlers, Q$HasGestureChangeHandlers, Q$HasGestureEndHandlers, Q$HasGestureStartHandlers, Q$HasKeyDownHandlers, Q$HasKeyPressHandlers, Q$HasKeyUpHandlers, Q$HasMouseDownHandlers, Q$HasMouseMoveHandlers, Q$HasMouseOutHandlers, Q$HasMouseOverHandlers, Q$HasMouseUpHandlers, Q$HasMouseWheelHandlers, Q$HasTouchCancelHandlers, Q$HasTouchEndHandlers, Q$HasTouchMoveHandlers, Q$HasTouchStartHandlers, Q$HasAttachHandlers, Q$HasHandlers, Q$HasSafeHtml, Q$EventListener, Q$ButtonBase, Q$CustomButton, Q$FocusWidget, Q$Focusable, Q$HasEnabled, Q$HasFocus, Q$HasHTML, Q$HasText, Q$HasVisibility, Q$IsWidget, Q$SourcesClickEvents, Q$SourcesFocusEvents, Q$SourcesKeyboardEvents, Q$SourcesMouseEvents, Q$UIObject, Q$Widget]));
_.getTabIndex = function getTabIndex_0(){
  return this.element.tabIndex;
}
;
_.onAttach = function onAttach_5(){
  !this.curFace && $setCurrentFace_0(this, this.up);
  $onAttach_1(this);
}
;
--></script>
<script><!--
_.onBrowserEvent = function onBrowserEvent_4(event_0){
  var keyCode, to, type;
  if (this.element['disabled']) {
    return;
  }
  type = $eventGetTypeInt(event_0.type);
  switch (type) {
    case 1:
      if (!this.allowClick) {
        event_0.stopPropagation();
        return;
      }

      break;
    case 4:
      if ($eventGetButton(event_0) == 1) {
        this.element.focus();
        setCapture(this.element);
        this.isCapturing = true;
        event_0.preventDefault();
      }

      break;
    case 8:
      if (this.isCapturing) {
        this.isCapturing = false;
        releaseCapture(this.element);
        (2 & (!this.curFace && $setCurrentFace_0(this, this.up) , this.curFace).val$faceID) > 0 && $eventGetButton(event_0) == 1 && $onClick_2(this);
      }

      break;
    case 64:
      this.isCapturing && (event_0.preventDefault() , undefined);
      break;
    case 32:
      to = $eventGetToElement(event_0);
      isOrHasChild(this.element, event_0.target) && (!to || !isOrHasChild(this.element, to)) && (2 & (!this.curFace && $setCurrentFace_0(this, this.up) , this.curFace.val$faceID)) > 0 && $toggleHover(this);
      break;
    case 16:
      isOrHasChild(this.element, event_0.target) && (2 & (!this.curFace && $setCurrentFace_0(this, this.up) , this.curFace.val$faceID)) <= 0 && $toggleHover(this);
      break;
    case 4096:
      this.isFocusing && (this.isFocusing = false);
      break;
    case 8192:
      this.isCapturing && (this.isCapturing = false);
  }
  $onBrowserEvent(this, event_0);
  if (($eventGetTypeInt(event_0.type) & 896) != 0) {
    keyCode = (event_0.keyCode || 0) & 65535;
    switch (type) {
      case 128:
        keyCode == 32 && (this.isFocusing = true);
        break;
      case 512:
        if (this.isFocusing && keyCode == 32) {
          this.isFocusing = false;
          $onClick_2(this);
        }

        break;
      case 256:
        (keyCode == 10 || keyCode == 13) && $onClick_2(this);
    }
  }
}
;
_.onDetach = function onDetach_6(){
  $onDetach(this);
  $cleanupCaptureState(this);
  (2 & (!this.curFace && $setCurrentFace_0(this, this.up) , this.curFace.val$faceID)) > 0 && $toggleHover(this);
}
;
_.setTabIndex = function setTabIndex_3(index){
  $setTabIndex_2(this.element, index);
}
;
_.allowClick = false;
_.curFace = null;
_.curFaceElement = null;
_.down = null;
_.downDisabled = null;
_.downHovering = null;
_.isCapturing = false;
_.isFocusing = false;
_.up = null;
_.upDisabled = null;
_.upHovering = null;
function $getFace(this$static){
  if (!this$static.face) {
    if (!this$static.delegateTo) {
      this$static.face = $doc.createElement('div');
      return this$static.face;
    }
     else {
      return $getFace(this$static.delegateTo);
    }
  }
   else {
    return this$static.face;
  }
}

function $setText_5(this$static, text){
  this$static.face = $doc.createElement('div');
  setStyleName(this$static.face, 'html-face', true);
  setInnerText(this$static.face, text);
  !!this$static.this$0.curFace && $getFace(this$static.this$0.curFace) == $getFace(this$static) && $setCurrentFaceElement(this$static.this$0, this$static.face);
}

defineSeed(543, 1, makeCastMap([Q$HasSafeHtml, Q$HasHTML, Q$HasText]));
_.toString$ = function toString_27(){
  return this.val$name;
}
;
_.delegateTo = null;
_.face = null;
_.this$0 = null;
function CustomButton$2_0(this$0, $anonymous0, val$name, val$faceID){
  this.val$name = val$name;
  this.val$faceID = val$faceID;
  this.this$0 = this$0;
  this.delegateTo = $anonymous0;
}

defineSeed(542, 543, makeCastMap([Q$HasSafeHtml, Q$HasHTML, Q$HasText]), CustomButton$2_0);
_.val$faceID = 0;
_.val$name = null;
function $insert_5(this$static, w, beforeIndex){
  var container, container_0, element;
  container = (container_0 = $doc.createElement('div') , container_0.style['width'] = '100%' , container_0.style['height'] = '0px' , container_0.style['padding'] = '0px' , container_0.style['margin'] = '0px' , container_0);
  insertChild(this$static.element, container, beforeIndex);
  $insert_4(this$static, w, container, beforeIndex, true);
  setVisible_0(container, false);
  container.style['height'] = '100%';
  element = w.getElement();
  $equals_2(element.style['width'], '') && w.setWidth_1('100%');
  $equals_2(element.style['height'], '') && w.setHeight_1('100%');
  w.setVisible_0(false);
}

function $remove_9(this$static, w){
  var container, removed;
  container = $getParentElement(w.getElement());
  removed = $remove_7(this$static, w);
  if (removed) {
    w.setSize('', '');
    w.setVisible_0(true);
    $removeChild(this$static.element, container);
    this$static.visibleWidget == w && (this$static.visibleWidget = null);
  }
  return removed;
}

function $showWidget(this$static, index){
  var oldWidget;
  $checkIndexBoundsForAccess(this$static, index);
  oldWidget = this$static.visibleWidget;
  this$static.visibleWidget = $get_7(this$static.children_0, index);
  if (this$static.visibleWidget != oldWidget) {
    !slideAnimation && (slideAnimation = new DeckPanel$SlideAnimation_0);
    $showWidget_0(slideAnimation, oldWidget, this$static.visibleWidget);
  }
}

defineSeed(544, 530, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$ComplexPanel, Q$HasVisibility, Q$HasWidgets, Q$HasWidgets$ForIsWidget, Q$IndexedPanel, Q$IndexedPanel$ForIsWidget, Q$InsertPanel, Q$InsertPanel$ForIsWidget, Q$IsWidget, Q$Panel, Q$UIObject, Q$Widget, Q$Iterable]));
_.insert_0 = function insert_4(w, beforeIndex){
  $insert_5(this, w, beforeIndex);
}
;
_.remove_5 = function remove_15(w){
  return $remove_9(this, w);
}
;
_.visibleWidget = null;
var slideAnimation = null;
function $onUpdate_1(this$static, progress){
  var height1, height2;
  this$static.growing || (progress = 1 - progress);
  height1 = round_int(progress * $getPropertyInt(this$static.container1, 'scrollHeight'));
  height2 = round_int((1 - progress) * $getPropertyInt(this$static.container2, 'scrollHeight'));
  if (height1 == 0) {
    height1 = 1;
    height2 = 1 > height2 - 1?1:height2 - 1;
  }
   else if (height2 == 0) {
    height2 = 1;
    height1 = 1 > height1 - 1?1:height1 - 1;
  }
  setStyleAttribute_0(this$static.container1, 'height', height1 + 'px');
  setStyleAttribute_0(this$static.container2, 'height', height2 + 'px');
}

function $showWidget_0(this$static, oldWidget, newWidget){
  var newContainer, newIndex, oldContainer, oldIndex;
  $cancel_0(this$static);
  newContainer = $getParentElement(newWidget.getElement());
  newIndex = $getChildIndex($getParentElement(newContainer), newContainer);
  if (!oldWidget) {
    setVisible_0(newContainer, true);
    newWidget.setVisible_0(true);
    return;
  }
  this$static.oldWidget = oldWidget;
  oldContainer = $getParentElement(oldWidget.getElement());
  oldIndex = $getChildIndex($getParentElement(oldContainer), oldContainer);
  if (newIndex > oldIndex) {
    this$static.container1 = oldContainer;
    this$static.container2 = newContainer;
    this$static.growing = false;
  }
   else {
    this$static.container1 = newContainer;
    this$static.container2 = oldContainer;
    this$static.growing = true;
  }
  setVisible_0(this$static.container1, this$static.growing);
  setVisible_0(this$static.container2, !this$static.growing);
  this$static.container1 = null;
  this$static.container2 = null;
  this$static.oldWidget.setVisible_0(false);
  this$static.oldWidget = null;
  newWidget.setVisible_0(true);
}

function DeckPanel$SlideAnimation_0(){
  Animation_0.call(this);
}

defineSeed(545, 109, {}, DeckPanel$SlideAnimation_0);
_.onComplete = function onComplete_3(){
  if (this.growing) {
    this.container1.style['height'] = '100%';
    setVisible_0(this.container1, true);
    setVisible_0(this.container2, false);
    this.container2.style['height'] = '100%';
  }
   else {
    setVisible_0(this.container1, false);
    this.container1.style['height'] = '100%';
    this.container2.style['height'] = '100%';
    setVisible_0(this.container2, true);
  }
  this.container1.style['overflow'] = 'visible';
  this.container2.style['overflow'] = 'visible';
  this.container1 = null;
  this.container2 = null;
  this.oldWidget.setVisible_0(false);
  this.oldWidget = null;
}
;
_.onStart = function onStart_4(){
  this.container1.style['overflow'] = 'hidden';
  this.container2.style['overflow'] = 'hidden';
  $onUpdate_1(this, 0);
  setVisible_0(this.container1, true);
  setVisible_0(this.container2, true);
}
;
_.onUpdate = function onUpdate_0(progress){
  $onUpdate_1(this, progress);
}
;
_.container1 = null;
_.container2 = null;
_.growing = false;
_.oldWidget = null;
function $add_13(this$static, w){
  if (this$static.widget) {
    throw new IllegalStateException_1('SimplePanel can only contain one child widget');
  }
  $setWidget_0(this$static, w);
}

function $remove_10(this$static, w){
  if (this$static.widget != w) {
    return false;
  }
  try {
    $setParent(w, null);
  }
   finally {
    $removeChild(this$static.getContainerElement(), w.getElement());
    this$static.widget = null;
  }
  return true;
}

function $setWidget_0(this$static, w){
  if (w == this$static.widget) {
    return;
  }
  !!w && w.removeFromParent();
  !!this$static.widget && this$static.remove_5(this$static.widget);
  this$static.widget = w;
  if (w) {
    $appendChild_0(this$static.getContainerElement(), ($clinit_PotentialElement() , $resolve(this$static.widget.getElement())));
    $setParent(w, this$static);
  }
}

function SimplePanel_0(){
  SimplePanel_1.call(this, $doc.createElement('div'));
}

function SimplePanel_1(elem){
  this.element = elem;
}

defineSeed(548, 531, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$AcceptsOneWidget, Q$HasOneWidget, Q$HasVisibility, Q$HasWidgets, Q$HasWidgets$ForIsWidget, Q$IsWidget, Q$Panel, Q$SimplePanel, Q$UIObject, Q$Widget, Q$Iterable]), SimplePanel_0, SimplePanel_1);
_.getContainerElement = function getContainerElement(){
  return this.element;
}
;
_.iterator_0 = function iterator_5(){
  return new SimplePanel$1_0(this);
}
;
_.remove_5 = function remove_16(w){
  return $remove_10(this, w);
}
;
_.setWidget = function setWidget(w){
  $setWidget_0(this, w);
}
;
_.widget = null;
function $eventTargetsPopup(this$static, event_0){
  var target;
  target = event_0.target;
  if (is_2(target)) {
    return $isOrHasChild(this$static.element, target);
  }
  return false;
}

function $hide_3(this$static){
  if (!this$static.showing) {
    return;
  }
  $setState_0(this$static.resizeAnimation, false, false);
  fire_2(this$static);
}

function $maybeUpdateSize(this$static){
  var w;
  w = this$static.widget;
  if (w) {
    this$static.desiredHeight != null && w.setHeight_1(this$static.desiredHeight);
    this$static.desiredWidth != null && w.setWidth_1(this$static.desiredWidth);
  }
}

function $previewNativeEvent(this$static, event_0){
  var eventTargetsPopupOrPartner, nativeEvent, target, type;
  if (event_0.isCanceled || !this$static.previewAllNativeEvents && event_0.isConsumed) {
    this$static.modal && (event_0.isCanceled = true);
    return;
  }
  this$static.onPreviewNativeEvent(event_0);
  if (event_0.isCanceled) {
    return;
  }
  nativeEvent = event_0.nativeEvent;
  eventTargetsPopupOrPartner = $eventTargetsPopup(this$static, nativeEvent);
  eventTargetsPopupOrPartner && (event_0.isConsumed = true);
  this$static.modal && (event_0.isCanceled = true);
  type = $eventGetTypeInt(nativeEvent.type);
  switch (type) {
    case 512:
    case 256:
    case 128:
      {
        (nativeEvent.keyCode || 0) & 65535;
        (nativeEvent.shiftKey?1:0) | (nativeEvent.metaKey?8:0) | (nativeEvent.ctrlKey?2:0) | (nativeEvent.altKey?4:0);
        return;
      }

    case 4:
    case 1048576:
      if (sCaptureElem) {
        event_0.isConsumed = true;
        return;
      }

      if (!eventTargetsPopupOrPartner && this$static.autoHide) {
        $hide_3(this$static);
        return;
      }

      break;
    case 8:
    case 64:
    case 1:
    case 2:
    case 4194304:
      {
        if (sCaptureElem) {
          event_0.isConsumed = true;
          return;
        }
        break;
      }

    case 2048:
      {
        target = nativeEvent.target;
        if (this$static.modal && !eventTargetsPopupOrPartner && !!target) {
          target.blur && target != $doc.body && target.blur();
          event_0.isCanceled = true;
          return;
        }
        break;
      }

  }
}

function $setPopupPosition(this$static, left, top_0){
  var elem;
  this$static.leftPosition = left;
  this$static.topPosition = top_0;
  left -= 0;
  top_0 -= 0;
  elem = this$static.element;
  elem.style['left'] = left + ($clinit_Style$Unit() , 'px');
  elem.style['top'] = top_0 + 'px';
}

function $setWidget_1(this$static, w){
  $setWidget_0(this$static, w);
  $maybeUpdateSize(this$static);
}

function $show_3(this$static){
  if (this$static.showing) {
    return;
  }
   else 
    this$static.attached && $removeFromParent_0(this$static);
  $setState_0(this$static.resizeAnimation, true, false);
}

function $updateHandlers(this$static){
  if (this$static.nativePreviewHandlerRegistration) {
    $removeHandler(this$static.nativePreviewHandlerRegistration.real);
    this$static.nativePreviewHandlerRegistration = null;
  }
  if (this$static.historyHandlerRegistration) {
    $removeHandler(this$static.historyHandlerRegistration.real);
    this$static.historyHandlerRegistration = null;
  }
  if (this$static.showing) {
    this$static.nativePreviewHandlerRegistration = addNativePreviewHandler(new PopupPanel$3_0(this$static));
    this$static.historyHandlerRegistration = addValueChangeHandler(new PopupPanel$4_0(this$static));
  }
}

defineSeed(547, 548, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$AcceptsOneWidget, Q$HasOneWidget, Q$HasVisibility, Q$HasWidgets, Q$HasWidgets$ForIsWidget, Q$IsWidget, Q$Panel, Q$SimplePanel, Q$UIObject, Q$Widget, Q$Iterable]));
_.getContainerElement = function getContainerElement_0(){
  return $getFirstChildElement(this.element);
}
;
_.getOffsetHeight = function getOffsetHeight_0(){
  return $getPropertyInt(this.element, 'offsetHeight');
}
;
_.getOffsetWidth = function getOffsetWidth_0(){
  return $getPropertyInt(this.element, 'offsetWidth');
}
;
_.getStyleElement = function getStyleElement_0(){
  return $getParentElement($getFirstChildElement(this.element));
}
;
_.hide = function hide_3(){
  $hide_3(this);
}
;
_.isVisible = function isVisible_2(){
  return !$equals_2('hidden', this.element.style['visibility']);
}
;
_.onPreviewNativeEvent = function onPreviewNativeEvent_1(event_0){
  event_0.isFirstHandler && (event_0.nativeEvent , false) && (event_0.isCanceled = true);
}
;
_.onUnload = function onUnload_1(){
  this.showing && $setState_0(this.resizeAnimation, false, true);
}
;
_.setHeight_1 = function setHeight_6(height){
  this.desiredHeight = height;
  $maybeUpdateSize(this);
  height.length == 0 && (this.desiredHeight = null);
}
;
_.setTitle = function setTitle_1(title){
  var containerElement;
  containerElement = $getFirstChildElement(this.element);
  title == null || title.length == 0?(containerElement.removeAttribute('title') , undefined):(containerElement.setAttribute('title', title) , undefined);
}
;
_.setVisible_0 = function setVisible_4(visible){
  setStyleAttribute_0(this.element, 'visibility', visible?'visible':'hidden');
}
;
_.setWidget = function setWidget_0(w){
  $setWidget_1(this, w);
}
;
_.setWidth_1 = function setWidth_6(width){
  this.desiredWidth = width;
  $maybeUpdateSize(this);
  width.length == 0 && (this.desiredWidth = null);
}
;
_.autoHide = false;
_.autoHideOnHistoryEvents = false;
_.desiredHeight = null;
_.desiredWidth = null;
_.glass = null;
_.historyHandlerRegistration = null;
_.isGlassEnabled = false;
_.leftPosition = -1;
_.modal = false;
_.nativePreviewHandlerRegistration = null;
_.previewAllNativeEvents = false;
_.showing = false;
_.topPosition = -1;
defineSeed(546, 547, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$AcceptsOneWidget, Q$HasOneWidget, Q$HasVisibility, Q$HasWidgets, Q$HasWidgets$ForIsWidget, Q$IsWidget, Q$Panel, Q$SimplePanel, Q$UIObject, Q$Widget, Q$Iterable]));
_.doAttachChildren = function doAttachChildren_6(){
  $onAttach(this.decPanel);
}
;
_.doDetachChildren = function doDetachChildren_7(){
  $onDetach(this.decPanel);
}
;
_.iterator_0 = function iterator_6(){
  return new SimplePanel$1_0(this.decPanel);
}
;
_.remove_5 = function remove_17(w){
  return $remove_10(this.decPanel, w);
}
;
_.setWidget = function setWidget_1(w){
  $setWidget_0(this.decPanel, w);
  $maybeUpdateSize(this);
}
;
_.decPanel = null;
function $findDividerIndex(this$static, elem){
  var expando, ownerHash;
  while (!!elem && elem != this$static.element) {
    expando = $getPropertyString(elem, '__index');
    if (expando != null) {
      ownerHash = $getPropertyInt(elem, '__owner');
      return ownerHash == getHashCode(this$static)?__parseAndValidateInt(expando, 10):-1;
    }
    elem = $getParentElement(elem);
  }
  return -1;
}

function $insert_6(this$static, w, beforeIndex){
  var effectiveIndex, tdb, tdh, trb, trh;
  trh = $doc.createElement('tr');
  tdh = $doc.createElement('td');
  $appendChild_0(trh, ($clinit_PotentialElement() , $resolve(tdh)));
  $appendChild_0(tdh, $resolve(this$static.createHeaderElem()));
  trb = $doc.createElement('tr');
  tdb = $doc.createElement('td');
  $appendChild_0(trb, $resolve(tdb));
  beforeIndex = $adjustIndex_0(this$static, w, beforeIndex);
  effectiveIndex = beforeIndex * 2;
  insertChild(this$static.body_0, trb, effectiveIndex);
  insertChild(this$static.body_0, trh, effectiveIndex);
  setStyleName(tdh, 'gwt-StackPanelItem', true);
  tdh['__owner'] = getHashCode(this$static);
  tdh['height'] = '1px';
  setStyleName(tdb, 'gwt-StackPanelContent', true);
  tdb['height'] = '100%';
  tdb['vAlign'] = 'top';
  $insert_4(this$static, w, tdb, beforeIndex, false);
  $updateIndicesFrom(this$static, beforeIndex);
  if (this$static.visibleStack == -1) {
    $showStack(this$static, 0);
  }
   else {
    $setStackVisible(this$static, beforeIndex, false);
    this$static.visibleStack >= beforeIndex && ++this$static.visibleStack;
    $setStackVisible(this$static, this$static.visibleStack, true);
  }
}

function $remove_11(this$static, child, index){
  var removed, rowIndex, tr;
  removed = $remove_7(this$static, child);
  if (removed) {
    rowIndex = 2 * index;
    tr = $getChild_0(this$static.body_0, rowIndex);
    $removeChild(this$static.body_0, tr);
    tr = $getChild_0(this$static.body_0, rowIndex);
    $removeChild(this$static.body_0, tr);
    this$static.visibleStack == index?(this$static.visibleStack = -1):this$static.visibleStack > index && --this$static.visibleStack;
    $updateIndicesFrom(this$static, index);
  }
  return removed;
}

function $setStackText(this$static, index){
  var headerElem, tdWrapper, tbody, tr, td;
  if (index >= this$static.children_0.size_0) {
    return;
  }
  tdWrapper = $getChild_0($getChild_0(this$static.body_0, index * 2), 0);
  headerElem = $getFirstChildElement(tdWrapper);
  (tbody = $getFirstChildElement(headerElem) , tr = $getChild_0(tbody, 1) , td = $getChild_0(tr, 1) , $getFirstChildElement(td)).innerHTML = '<center><\/center>';
}

function $setStackVisible(this$static, index, visible){
  var td, tdNext, tr, trNext, tr_0;
  tr = $getChild_0(this$static.body_0, index * 2);
  if (!tr) {
    return;
  }
  td = $getFirstChildElement(tr);
  setStyleName(td, 'gwt-StackPanelItem-selected', visible);
  tr_0 = $getChild_0(this$static.body_0, index * 2 + 1);
  setVisible_0(tr_0, visible);
  $get_7(this$static.children_0, index).setVisible_0(visible);
  trNext = $getChild_0(this$static.body_0, (index + 1) * 2);
  if (trNext) {
    tdNext = $getFirstChildElement(trNext);
    setStyleName(tdNext, 'gwt-StackPanelItem-below-selected', visible);
  }
}

function $showStack(this$static, index){
  if (index >= this$static.children_0.size_0 || index < 0 || index == this$static.visibleStack) {
    return;
  }
  this$static.visibleStack >= 0 && $setStackVisible(this$static, this$static.visibleStack, false);
  this$static.visibleStack = index;
  $setStackVisible(this$static, this$static.visibleStack, true);
}

function $updateIndicesFrom(this$static, beforeIndex){
  var c, childTD, childTR, i;
  for (i = beforeIndex , c = this$static.children_0.size_0; i < c; ++i) {
    childTR = $getChild_0(this$static.body_0, i * 2);
    childTD = $getFirstChildElement(childTR);
    childTD['__index'] = i;
    beforeIndex == 0?setStyleName(childTD, 'gwt-StackPanelItem-first', true):setStyleName(childTD, 'gwt-StackPanelItem-first', false);
  }
}

defineSeed(550, 530, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$ComplexPanel, Q$HasVisibility, Q$HasWidgets, Q$HasWidgets$ForIsWidget, Q$IndexedPanel, Q$IndexedPanel$ForIsWidget, Q$InsertPanel, Q$InsertPanel$ForIsWidget, Q$IsWidget, Q$Panel, Q$UIObject, Q$Widget, Q$Iterable]));
_.createHeaderElem = function createHeaderElem(){
  return $doc.createElement('div');
}
;
_.insert_0 = function insert_5(w, beforeIndex){
  $insert_6(this, w, beforeIndex);
}
;
_.onBrowserEvent = function onBrowserEvent_5(event_0){
  var index, target;
  if ($eventGetTypeInt(event_0.type) == 1) {
    target = event_0.target;
    index = $findDividerIndex(this, target);
    index != -1 && $showStack(this, index);
  }
  $onBrowserEvent(this, event_0);
}
;
_.remove_5 = function remove_18(child){
  return $remove_11(this, child, $indexOf_2(this.children_0, child));
}
;
_.body_0 = null;
_.visibleStack = -1;
function $clinit_DecoratedStackPanel(){
  $clinit_DecoratedStackPanel = nullMethod;
  DEFAULT_ROW_STYLENAMES = initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['stackItemTop', 'stackItemMiddle']);
}

function DecoratedStackPanel_0(){
  var table;
  $clinit_DecoratedStackPanel();
  ComplexPanel_0.call(this);
  table = $doc.createElement('table');
  this.element = table;
  this.body_0 = $doc.createElement('tbody');
  $appendChild_0(table, ($clinit_PotentialElement() , $resolve(this.body_0)));
  table['cellSpacing'] = 0;
  table['cellPadding'] = 0;
  $maybeInitializeEventSystem();
  $sinkEventsImpl(table, 1);
  this.element['className'] = 'gwt-StackPanel';
  setStylePrimaryName(this.element, 'gwt-DecoratedStackPanel');
}

defineSeed(549, 550, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$ComplexPanel, Q$HasVisibility, Q$HasWidgets, Q$HasWidgets$ForIsWidget, Q$IndexedPanel, Q$IndexedPanel$ForIsWidget, Q$InsertPanel, Q$InsertPanel$ForIsWidget, Q$IsWidget, Q$Panel, Q$UIObject, Q$Widget, Q$Iterable]), DecoratedStackPanel_0);
_.createHeaderElem = function createHeaderElem_0(){
  var i, table, tbody;
  table = $doc.createElement('table');
  tbody = $doc.createElement('tbody');
  $appendChild_0(table, ($clinit_PotentialElement() , $resolve(tbody)));
  table.style['width'] = '100%';
  table['cellSpacing'] = 0;
  table['cellPadding'] = 0;
  for (i = 0; i < DEFAULT_ROW_STYLENAMES.length; ++i) {
    $appendChild_0(tbody, $resolve(createTR(DEFAULT_ROW_STYLENAMES[i])));
  }
  return table;
}
;
var DEFAULT_ROW_STYLENAMES;
function $checkInsertBeforeTabIndex(this$static, beforeIndex){
  if (beforeIndex < 0 || beforeIndex > this$static.panel.children_0.size_0 - 2) {
    throw new IndexOutOfBoundsException_0;
  }
}

function $checkTabIndex(this$static, index){
  if (index < -1 || index >= this$static.panel.children_0.size_0 - 2) {
    throw new IndexOutOfBoundsException_0;
  }
}

function $insertTab(this$static, text, asHTML, beforeIndex){
  var item, delWidget, focusablePanel;
  $checkInsertBeforeTabIndex(this$static, beforeIndex);
  asHTML?(item = new HTML_1(text)):(item = new Label_2(text));
  item.element.style['whiteSpace'] = ($clinit_Style$WhiteSpace() , 'nowrap');
  $checkInsertBeforeTabIndex(this$static, beforeIndex);
  delWidget = new TabBar$ClickDelegatePanel_0(this$static, item);
  delWidget.element['className'] = 'gwt-TabBarItem';
  focusablePanel = delWidget.focusablePanel;
  $clinit_Roles();
  $set_8(TAB, focusablePanel.element);
  $insert_8(this$static.panel, delWidget, beforeIndex + 1);
  setStyleName($getParentElement(delWidget.element), 'gwt-TabBarItem-wrapper', true);
}

function $removeTab(this$static, index){
  var toRemove;
  $checkTabIndex(this$static, index);
  toRemove = $getWidget(this$static.panel, index + 1);
  toRemove == this$static.selectedTab && (this$static.selectedTab = null);
  $remove_13(this$static.panel, toRemove);
}

function $selectTab(this$static, index){
  var event_0;
  $checkTabIndex(this$static, index);
  event_0 = fire_1(this$static, valueOf(index));
  if (!!event_0 && event_0.canceled) {
    return false;
  }
  $setSelectionStyle(this$static.selectedTab, false);
  if (index == -1) {
    this$static.selectedTab = null;
    return true;
  }
  this$static.selectedTab = $getWidget(this$static.panel, index + 1);
  $setSelectionStyle(this$static.selectedTab, true);
  fire_4(this$static, valueOf(index));
  return true;
}

function $selectTabByTabWidget(this$static, tabWidget){
  var i, numTabs;
  numTabs = this$static.panel.children_0.size_0 - 1;
  for (i = 1; i < numTabs; ++i) {
    if ($getWidget(this$static.panel, i) == tabWidget) {
      return $selectTab(this$static, i - 1);
    }
  }
  return false;
}

function $setSelectionStyle(item, selected){
  if (item) {
    if (selected) {
      item.addStyleName('gwt-TabBarItem-selected');
      setStyleName($getParentElement(item.getElement()), 'gwt-TabBarItem-wrapper-selected', true);
    }
     else {
      item.removeStyleName('gwt-TabBarItem-selected');
      setStyleName($getParentElement(item.getElement()), 'gwt-TabBarItem-wrapper-selected', false);
    }
  }
}

defineSeed(552, 540, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$ClickListener, Q$HasVisibility, Q$IsWidget, Q$KeyboardListener, Q$SourcesTabEvents, Q$UIObject, Q$Widget]));
_.onClick_1 = function onClick_1(sender){
}
;
_.onKeyDown = function onKeyDown(sender, keyCode, modifiers){
}
;
_.onKeyPress_1 = function onKeyPress_1(sender, keyCode, modifiers){
}
;
_.onKeyUp_0 = function onKeyUp_0(sender, keyCode, modifiers){
}
;
_.selectedTab = null;
function $clinit_DecoratedTabBar(){
  $clinit_DecoratedTabBar = nullMethod;
  TAB_ROW_STYLES = initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['tabTop', 'tabMiddle']);
}

var TAB_ROW_STYLES;
function $add_14(this$static, w){
  $insert_7(this$static, w, '<center>Minimum Resource Solution<\/center>', true, this$static.deck.children_0.size_0);
}

function $insert_7(this$static, widget, tabText, asHTML, beforeIndex){
  $insertProtected(this$static.deck, widget, tabText, asHTML, beforeIndex);
}

defineSeed(554, 540, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$HasWidgets, Q$IndexedPanel, Q$IndexedPanel$ForIsWidget, Q$IsWidget, Q$SourcesTabEvents, Q$TabListener, Q$UIObject, Q$Widget, Q$Iterable]));
_.createTabTextWrapper = function createTabTextWrapper(){
  return null;
}
;
_.getWidgetIndex = function getWidgetIndex_0(widget){
  return $getWidgetIndex(this.deck, widget);
}
;
_.iterator_0 = function iterator_7(){
  return new WidgetCollection$WidgetIterator_0(this.deck.children_0);
}
;
_.onBeforeTabSelected = function onBeforeTabSelected(sender, tabIndex){
  var event_0;
  event_0 = fire_1(this, valueOf(tabIndex));
  return !event_0 || !event_0.canceled;
}
;
_.onTabSelected = function onTabSelected(sender, tabIndex){
  $showWidget(this.deck, tabIndex);
  fire_4(this, valueOf(tabIndex));
}
;
_.remove_5 = function remove_19(widget){
  return $remove_16(this.deck, widget);
}
;
function DecoratedTabPanel_0(){
  var panel;
  this.tabBar = new TabPanel$UnmodifiableTabBar_0(this);
  this.deck = new TabPanel$TabbedDeckPanel_0(this.tabBar);
  panel = new VerticalPanel_2;
  $add_18(panel, this.tabBar);
  $add_18(panel, this.deck);
  $setCellHeight(panel, this.deck);
  $setWidth_0(this.tabBar, '100%');
  add_9(this.tabBar, this);
  $initWidget(this, panel);
  this.element['className'] = 'gwt-TabPanel';
  $setStyleName_0(this.deck, 'gwt-TabPanelBottom');
  $clinit_Roles();
  $set_8(TABPANEL, this.deck.element);
  setStylePrimaryName(this.element, 'gwt-DecoratedTabPanel');
  setStylePrimaryName(this.tabBar.element, 'gwt-DecoratedTabBar');
}

defineSeed(553, 554, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$HasWidgets, Q$IndexedPanel, Q$IndexedPanel$ForIsWidget, Q$IsWidget, Q$SourcesTabEvents, Q$TabListener, Q$UIObject, Q$Widget, Q$Iterable]), DecoratedTabPanel_0);
_.createTabTextWrapper = function createTabTextWrapper_0(){
  return new DecoratorPanel_0(($clinit_DecoratedTabBar() , TAB_ROW_STYLES));
}
;
function $getCellElement(this$static){
  var td, tr;
  tr = $getChild_0(this$static.tbody, 0);
  td = $getChild_0(tr, 1);
  return $getFirstChildElement(td);
}

function DecoratorPanel_0(rowStyles){
  var i, row, table;
  SimplePanel_1.call(this, $doc.createElement('table'));
  table = this.element;
  this.tbody = $doc.createElement('tbody');
  appendChild(table, this.tbody);
  table['cellSpacing'] = 0;
  table['cellPadding'] = 0;
  for (i = 0; i < rowStyles.length; ++i) {
    row = createTR(rowStyles[i]);
    appendChild(this.tbody, row);
    i == 1 && (this.containerElem = $getFirstChildElement($getChild_0(row, 1)));
  }
  this.element['className'] = 'gwt-DecoratorPanel';
}

function createTD(styleName){
  var inner, tdElem;
  tdElem = $doc.createElement('td');
  inner = $doc.createElement('div');
  $appendChild_0(tdElem, ($clinit_PotentialElement() , $resolve(inner)));
  tdElem['className'] = styleName;
  inner['className'] = styleName + 'Inner';
  return tdElem;
}

--></script>
<script><!--
function createTR(styleName){
  var trElem;
  trElem = $doc.createElement('tr');
  trElem['className'] = styleName;
  $clinit_LocaleInfo();
  appendChild(trElem, createTD(styleName + 'Left'));
  appendChild(trElem, createTD(styleName + 'Center'));
  appendChild(trElem, createTD(styleName + 'Right'));
  return trElem;
}

defineSeed(555, 548, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$AcceptsOneWidget, Q$HasOneWidget, Q$HasVisibility, Q$HasWidgets, Q$HasWidgets$ForIsWidget, Q$IsWidget, Q$Panel, Q$SimplePanel, Q$UIObject, Q$Widget, Q$Iterable]), DecoratorPanel_0);
_.getContainerElement = function getContainerElement_1(){
  return this.containerElem;
}
;
_.containerElem = null;
_.tbody = null;
function $beginDragging(this$static, event_0){
  $onMouseDown(this$static, (this$static.caption , $getX(event_0)), $getY(event_0));
}

function $continueDragging(this$static, event_0){
  $onMouseMove_1(this$static, (this$static.caption , $getX(event_0)), $getY(event_0));
}

function $endDragging(this$static, event_0){
  $onMouseUp(this$static, (this$static.caption , $getX(event_0) , $getY(event_0)));
}

function $hide_4(this$static){
  if (this$static.resizeHandlerRegistration) {
    $removeHandler(this$static.resizeHandlerRegistration.real);
    this$static.resizeHandlerRegistration = null;
  }
  $hide_3(this$static);
}

function $isCaptionEvent(this$static, event_0){
  var target;
  target = event_0.target;
  if (is_2(target)) {
    return $isOrHasChild($getParentElement($getCellElement(this$static.decPanel)), target);
  }
  return false;
}

function $onMouseDown(this$static, x, y){
  if (!sCaptureElem) {
    this$static.dragging = true;
    setCapture(this$static.element);
    this$static.dragStartX = x;
    this$static.dragStartY = y;
  }
}

function $onMouseMove_1(this$static, x, y){
  var absX, absY;
  if (this$static.dragging) {
    absX = x + $getAbsoluteLeft(this$static.element);
    absY = y + $getAbsoluteTop(this$static.element);
    if (absX < this$static.clientLeft || absX >= this$static.windowWidth || absY < this$static.clientTop) {
      return;
    }
    $setPopupPosition(this$static, absX - this$static.dragStartX, absY - this$static.dragStartY);
  }
}

function $onMouseUp(this$static){
  this$static.dragging = false;
  releaseCapture(this$static.element);
}

function DialogBox_0(){
  DialogBox_1.call(this, new DialogBox$CaptionImpl_0);
}

function DialogBox_1(captionWidget){
  var mouseHandler, td, rowStyles;
  SimplePanel_0.call(this);
  this.glassResizer = new PopupPanel$1_0;
  this.resizeAnimation = new PopupPanel$ResizeAnimation_0(this);
  $appendChild_0(this.element, $doc.createElement('div'));
  $setPopupPosition(this, 0, 0);
  $getParentElement($getFirstChildElement(this.element))['className'] = 'gwt-PopupPanel';
  $getFirstChildElement(this.element)['className'] = 'popupContent';
  this.autoHide = false;
  this.autoHideOnHistoryEvents = false;
  this.modal = true;
  rowStyles = initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['dialogTop', 'dialogMiddle', 'dialogBottom']);
  this.decPanel = new DecoratorPanel_0(rowStyles);
  $setStyleName_0(this.decPanel, '');
  setStylePrimaryName($getParentElement($getFirstChildElement(this.element)), 'gwt-DecoratedPopupPanel');
  $setWidget_1(this, this.decPanel);
  setStyleName($getFirstChildElement(this.element), 'popupContent', false);
  setStyleName(this.decPanel.containerElem, 'dialogContent', true);
  $removeFromParent_0(captionWidget);
  this.caption = captionWidget;
  td = $getCellElement(this.decPanel);
  appendChild(td, this.caption.element);
  $adopt(this, this.caption);
  $getParentElement($getFirstChildElement(this.element))['className'] = 'gwt-DialogBox';
  this.windowWidth = $getClientWidth_0($doc);
  this.clientLeft = 0;
  this.clientTop = 0;
  mouseHandler = new DialogBox$MouseHandler_0(this);
  $addDomHandler(this, mouseHandler, ($clinit_MouseDownEvent() , $clinit_MouseDownEvent() , TYPE_3));
  $addDomHandler(this, mouseHandler, ($clinit_MouseUpEvent() , $clinit_MouseUpEvent() , TYPE_7));
  $addDomHandler(this, mouseHandler, ($clinit_MouseMoveEvent() , $clinit_MouseMoveEvent() , TYPE_4));
  $addDomHandler(this, mouseHandler, ($clinit_MouseOverEvent() , $clinit_MouseOverEvent() , TYPE_6));
  $addDomHandler(this, mouseHandler, ($clinit_MouseOutEvent() , $clinit_MouseOutEvent() , TYPE_5));
}

defineSeed(556, 546, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$HasSafeHtml, Q$EventListener, Q$AcceptsOneWidget, Q$HasHTML, Q$HasOneWidget, Q$HasText, Q$HasVisibility, Q$HasWidgets, Q$HasWidgets$ForIsWidget, Q$IsWidget, Q$Panel, Q$SimplePanel, Q$UIObject, Q$Widget, Q$Iterable]), DialogBox_0);
_.doAttachChildren = function doAttachChildren_7(){
  try {
    $onAttach(this.decPanel);
  }
   finally {
    $onAttach(this.caption);
  }
}
;
_.doDetachChildren = function doDetachChildren_8(){
  try {
    $onDetach(this.decPanel);
  }
   finally {
    $onDetach(this.caption);
  }
}
;
_.hide = function hide_4(){
  $hide_4(this);
}
;
_.onBrowserEvent = function onBrowserEvent_6(event_0){
  switch ($eventGetTypeInt(event_0.type)) {
    case 4:
    case 8:
    case 64:
    case 16:
    case 32:
      if (!this.dragging && !$isCaptionEvent(this, event_0)) {
        return;
      }

  }
  $onBrowserEvent(this, event_0);
}
;
_.onPreviewNativeEvent = function onPreviewNativeEvent_2(event_0){
  var nativeEvent;
  nativeEvent = event_0.nativeEvent;
  !event_0.isCanceled && $eventGetTypeInt(event_0.nativeEvent.type) == 4 && $isCaptionEvent(this, nativeEvent) && (nativeEvent.preventDefault() , undefined);
  event_0.isFirstHandler && (event_0.nativeEvent , false) && (event_0.isCanceled = true);
}
;
_.caption = null;
_.clientLeft = 0;
_.clientTop = 0;
_.dragStartX = 0;
_.dragStartY = 0;
_.dragging = false;
_.resizeHandlerRegistration = null;
_.windowWidth = 0;
function DialogBox$1_0(this$0){
  this.this$0 = this$0;
}

defineSeed(557, 1, makeCastMap([Q$ResizeHandler, Q$EventHandler]), DialogBox$1_0);
_.onResize_0 = function onResize_8(event_0){
  this.this$0.windowWidth = event_0.width_0;
}
;
_.this$0 = null;
function $setHorizontalAlignment(this$static, align){
  this$static.autoHorizontalAlignment = align;
  $updateHorizontalAlignment(this$static);
}

function $updateHorizontalAlignment(this$static){
  var align;
  !this$static.autoHorizontalAlignment?(align = null):this$static.autoHorizontalAlignment?(align = this$static.autoHorizontalAlignment):(align = this$static.autoHorizontalAlignment == ($clinit_HasAutoHorizontalAlignment() , ALIGN_CONTENT_START)?startOf(this$static.directionalTextHelper.textDir):endOf(this$static.directionalTextHelper.textDir));
  if (align != this$static.horzAlign) {
    this$static.horzAlign = align;
    this$static.element.style['textAlign'] = !this$static.horzAlign?'':this$static.horzAlign.textAlignString;
  }
}

function LabelBase_0(element){
  this.element = element;
  this.directionalTextHelper = new DirectionalTextHelper_0(this.element);
}

defineSeed(561, 145, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$HasDirectionEstimator, Q$EventListener, Q$HasAutoHorizontalAlignment, Q$HasHorizontalAlignment, Q$HasVisibility, Q$HasWordWrap, Q$IsWidget, Q$LabelBase, Q$UIObject, Q$Widget]));
_.autoHorizontalAlignment = null;
_.directionalTextHelper = null;
_.horzAlign = null;
function $setText_6(this$static, text){
  $setTextOrHtml(this$static.directionalTextHelper, text, false);
  $updateHorizontalAlignment(this$static);
}

function Label_0(){
  LabelBase_0.call(this, $doc.createElement('div'));
  this.element['className'] = 'gwt-Label';
}

function Label_1(element){
  LabelBase_0.call(this, element, $equalsIgnoreCase('span', element.tagName));
}

function Label_2(text){
  Label_0.call(this);
  $setTextOrHtml(this.directionalTextHelper, text, false);
  $updateHorizontalAlignment(this);
}

defineSeed(560, 561, makeCastMap([Q$IsEditor, Q$HasAllDragAndDropHandlers, Q$HasAllGestureHandlers, Q$HasAllMouseHandlers, Q$HasAllTouchHandlers, Q$HasClickHandlers, Q$HasDoubleClickHandlers, Q$HasDragEndHandlers, Q$HasDragEnterHandlers, Q$HasDragHandlers, Q$HasDragLeaveHandlers, Q$HasDragOverHandlers, Q$HasDragStartHandlers, Q$HasDropHandlers, Q$HasGestureChangeHandlers, Q$HasGestureEndHandlers, Q$HasGestureStartHandlers, Q$HasMouseDownHandlers, Q$HasMouseMoveHandlers, Q$HasMouseOutHandlers, Q$HasMouseOverHandlers, Q$HasMouseUpHandlers, Q$HasMouseWheelHandlers, Q$HasTouchCancelHandlers, Q$HasTouchEndHandlers, Q$HasTouchMoveHandlers, Q$HasTouchStartHandlers, Q$HasAttachHandlers, Q$HasHandlers, Q$HasDirection, Q$HasDirectionEstimator, Q$EventListener, Q$HasAutoHorizontalAlignment, Q$HasDirectionalText, Q$HasHorizontalAlignment, Q$HasText, Q$HasVisibility, Q$HasWordWrap, Q$IsWidget, Q$Label, Q$LabelBase, Q$SourcesClickEvents, Q$SourcesMouseEvents, Q$UIObject, Q$Widget]), Label_0, Label_2);
function $setHTML(this$static, html){
  $setTextOrHtml(this$static.directionalTextHelper, html, true);
  $updateHorizontalAlignment(this$static);
}

function HTML_0(){
  Label_1.call(this, $doc.createElement('div'));
  this.element['className'] = 'gwt-HTML';
}

function HTML_1(html){
  HTML_0.call(this);
  $setTextOrHtml(this.directionalTextHelper, html, true);
  $updateHorizontalAlignment(this);
}

function HTML_2(html){
  HTML_1.call(this, html);
  this.element.style['whiteSpace'] = ($clinit_Style$WhiteSpace() , 'normal');
}

defineSeed(559, 560, makeCastMap([Q$IsEditor, Q$HasAllDragAndDropHandlers, Q$HasAllGestureHandlers, Q$HasAllMouseHandlers, Q$HasAllTouchHandlers, Q$HasClickHandlers, Q$HasDoubleClickHandlers, Q$HasDragEndHandlers, Q$HasDragEnterHandlers, Q$HasDragHandlers, Q$HasDragLeaveHandlers, Q$HasDragOverHandlers, Q$HasDragStartHandlers, Q$HasDropHandlers, Q$HasGestureChangeHandlers, Q$HasGestureEndHandlers, Q$HasGestureStartHandlers, Q$HasMouseDownHandlers, Q$HasMouseMoveHandlers, Q$HasMouseOutHandlers, Q$HasMouseOverHandlers, Q$HasMouseUpHandlers, Q$HasMouseWheelHandlers, Q$HasTouchCancelHandlers, Q$HasTouchEndHandlers, Q$HasTouchMoveHandlers, Q$HasTouchStartHandlers, Q$HasAttachHandlers, Q$HasHandlers, Q$HasDirection, Q$HasDirectionEstimator, Q$HasSafeHtml, Q$EventListener, Q$HTML, Q$HasAutoHorizontalAlignment, Q$HasDirectionalHtml, Q$HasDirectionalSafeHtml, Q$HasDirectionalText, Q$HasHTML, Q$HasHorizontalAlignment, Q$HasText, Q$HasVisibility, Q$HasWordWrap, Q$IsWidget, Q$Label, Q$LabelBase, Q$SourcesClickEvents, Q$SourcesMouseEvents, Q$UIObject, Q$Widget]), HTML_0, HTML_1, HTML_2);
function DialogBox$CaptionImpl_0(){
  HTML_0.call(this);
  this.element['className'] = 'Caption';
}

defineSeed(558, 559, makeCastMap([Q$IsEditor, Q$HasAllDragAndDropHandlers, Q$HasAllGestureHandlers, Q$HasAllMouseHandlers, Q$HasAllTouchHandlers, Q$HasClickHandlers, Q$HasDoubleClickHandlers, Q$HasDragEndHandlers, Q$HasDragEnterHandlers, Q$HasDragHandlers, Q$HasDragLeaveHandlers, Q$HasDragOverHandlers, Q$HasDragStartHandlers, Q$HasDropHandlers, Q$HasGestureChangeHandlers, Q$HasGestureEndHandlers, Q$HasGestureStartHandlers, Q$HasMouseDownHandlers, Q$HasMouseMoveHandlers, Q$HasMouseOutHandlers, Q$HasMouseOverHandlers, Q$HasMouseUpHandlers, Q$HasMouseWheelHandlers, Q$HasTouchCancelHandlers, Q$HasTouchEndHandlers, Q$HasTouchMoveHandlers, Q$HasTouchStartHandlers, Q$HasAttachHandlers, Q$HasHandlers, Q$HasDirection, Q$HasDirectionEstimator, Q$HasSafeHtml, Q$EventListener, Q$HTML, Q$HasAutoHorizontalAlignment, Q$HasDirectionalHtml, Q$HasDirectionalSafeHtml, Q$HasDirectionalText, Q$HasHTML, Q$HasHorizontalAlignment, Q$HasText, Q$HasVisibility, Q$HasWordWrap, Q$IsWidget, Q$Label, Q$LabelBase, Q$SourcesClickEvents, Q$SourcesMouseEvents, Q$UIObject, Q$Widget]), DialogBox$CaptionImpl_0);
function DialogBox$MouseHandler_0(this$0){
  this.this$0 = this$0;
}

defineSeed(562, 1, makeCastMap([Q$MouseDownHandler, Q$MouseMoveHandler, Q$MouseOutHandler, Q$MouseOverHandler, Q$MouseUpHandler, Q$EventHandler, Q$DialogBox$MouseHandler]), DialogBox$MouseHandler_0);
_.onMouseDown = function onMouseDown_0(event_0){
  $beginDragging(this.this$0, event_0);
}
;
_.onMouseMove = function onMouseMove_0(event_0){
  $continueDragging(this.this$0, event_0);
}
;
_.onMouseUp = function onMouseUp_0(event_0){
  $endDragging(this.this$0, event_0);
}
;
_.this$0 = null;
function $setTextOrHtml(this$static, content_0, isHtml){
  isHtml?$setInnerHTML(this$static.element, content_0):$setInnerText(this$static.element, content_0);
  if (this$static.textDir != this$static.initialElementDir) {
    this$static.textDir = this$static.initialElementDir;
    setDirectionOnElement(this$static.element, this$static.initialElementDir);
  }
}

function DirectionalTextHelper_0(element){
  this.element = element;
  this.initialElementDir = getDirectionOnElement(element);
  this.textDir = this.initialElementDir;
}

defineSeed(563, 1, makeCastMap([Q$HasDirectionEstimator]), DirectionalTextHelper_0);
_.element = null;
_.initialElementDir = null;
_.textDir = null;
function $checkCellBounds(this$static, row, column){
  var cellSize;
  $checkRowBounds(this$static, row);
  if (column < 0) {
    throw new IndexOutOfBoundsException_1('Column ' + column + ' must be non-negative: ' + column);
  }
  cellSize = this$static.getCellCount(row);
  if (cellSize <= column) {
    throw new IndexOutOfBoundsException_1('Column index: ' + column + ', Column size: ' + this$static.getCellCount(row));
  }
}

function $checkRowBounds(this$static, row){
  var rowSize;
  rowSize = this$static.getRowCount();
  if (row >= rowSize || row < 0) {
    throw new IndexOutOfBoundsException_1('Row index: ' + row + ', Row size: ' + rowSize);
  }
}

function $cleanCell(this$static, row, column, clearInnerHTML){
  var td;
  td = $getRawElement(this$static.cellFormatter, row, column);
  $internalClearCell(this$static, td, clearInnerHTML);
  return td;
}

function $clear_0(this$static){
  var col, row;
  for (row = 0; row < this$static.numRows; ++row) {
    for (col = 0; col < this$static.numColumns; ++col) {
      $cleanCell(this$static, row, col, false);
    }
  }
}

function $getDOMCellCount(tableBody, row){
  return tableBody.rows[row].cells.length;
}

function $getWidget_0(this$static, row, column){
  var e, child;
  $checkCellBounds(this$static, row, column);
  return e = $getRawElement(this$static.cellFormatter, row, column) , child = $getFirstChildElement(e) , !child?null:dynamicCast($get_5(this$static.widgetMap, child), Q$Widget);
}

function $internalClearCell(this$static, td, clearInnerHTML){
  var maybeChild, widget;
  maybeChild = $getFirstChildElement(td);
  widget = null;
  !!maybeChild && (widget = dynamicCast($get_5(this$static.widgetMap, maybeChild), Q$Widget));
  if (widget) {
    $remove_12(this$static, widget);
    return true;
  }
   else {
    clearInnerHTML && $setInnerHTML(td, '');
    return false;
  }
}

function $remove_12(this$static, widget){
  var elem;
  if (widget.parent_0 != this$static) {
    return false;
  }
  try {
    $setParent(widget, null);
  }
   finally {
    elem = widget.getElement();
    $removeChild($getParentElement(elem), elem);
    $removeByElement(this$static.widgetMap, elem);
  }
  return true;
}

function $removeRow(this$static, row){
  var column, columnCount;
  columnCount = this$static.getCellCount(row);
  for (column = 0; column < columnCount; ++column) {
    $cleanCell(this$static, row, column, false);
  }
  $removeChild(this$static.bodyElem, $getRow_0(this$static.bodyElem, row));
}

function $setCellFormatter(this$static, cellFormatter){
  this$static.cellFormatter = cellFormatter;
}

function $setColumnFormatter(this$static, formatter){
  !!this$static.columnFormatter && (formatter.columnGroup = this$static.columnFormatter.columnGroup);
  this$static.columnFormatter = formatter;
  $prepareColumnGroup(this$static.columnFormatter);
}

function $setHTML_0(this$static, row, column, html){
  var td;
  $prepareCell(this$static, row, column);
  td = $cleanCell(this$static, row, column, html == null);
  html != null && $setInnerHTML(td, html);
}

function $setWidget_2(this$static, row, column, widget){
  var td;
  this$static.prepareCell(row, column);
  td = $cleanCell(this$static, row, column, true);
  if (widget) {
    widget.removeFromParent();
    $put_4(this$static.widgetMap, widget);
    $appendChild_0(td, ($clinit_PotentialElement() , $resolve(widget.getElement())));
    $setParent(widget, this$static);
  }
}

function HTMLTable_0(){
  this.widgetMap = new ElementMapperImpl_0;
  this.tableElem = $doc.createElement('table');
  this.bodyElem = $doc.createElement('tbody');
  $appendChild_0(this.tableElem, ($clinit_PotentialElement() , $resolve(this.bodyElem)));
  $setElement(this, this.tableElem);
}

defineSeed(565, 531, makeCastMap([Q$HasAllDragAndDropHandlers, Q$HasClickHandlers, Q$HasDoubleClickHandlers, Q$HasDragEndHandlers, Q$HasDragEnterHandlers, Q$HasDragHandlers, Q$HasDragLeaveHandlers, Q$HasDragOverHandlers, Q$HasDragStartHandlers, Q$HasDropHandlers, Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HTMLTable, Q$HasVisibility, Q$HasWidgets, Q$HasWidgets$ForIsWidget, Q$IsWidget, Q$Panel, Q$SourcesTableEvents, Q$UIObject, Q$Widget, Q$Iterable]));
_.iterator_0 = function iterator_8(){
  return new HTMLTable$1_0(this);
}
;
_.remove_5 = function remove_20(widget){
  return $remove_12(this, widget);
}
;
_.bodyElem = null;
_.cellFormatter = null;
_.columnFormatter = null;
_.tableElem = null;
function $prepareCell(this$static, row, column){
  var cellCount, required;
  $prepareRow(this$static, row);
  if (column < 0) {
    throw new IndexOutOfBoundsException_1('Cannot create a column with a negative index: ' + column);
  }
  cellCount = ($checkRowBounds(this$static, row) , $getDOMCellCount(this$static.bodyElem, row));
  required = column + 1 - cellCount;
  required > 0 && addCells(this$static.bodyElem, row, required);
}

function $prepareRow(this$static, row){
  var i, rowCount, tr;
  if (row < 0) {
    throw new IndexOutOfBoundsException_1('Cannot create a row with a negative index: ' + row);
  }
  rowCount = this$static.bodyElem.rows.length;
  for (i = rowCount; i <= row; ++i) {
    i != this$static.bodyElem.rows.length && $checkRowBounds(this$static, i);
    tr = $doc.createElement('tr');
    insertChild(this$static.bodyElem, tr, i);
  }
}

function $removeAllRows(this$static){
  var i, numRows;
  numRows = this$static.bodyElem.rows.length;
  for (i = 0; i < numRows; ++i) {
    $removeRow(this$static, 0);
  }
}

function FlexTable_0(){
  HTMLTable_0.call(this);
  $setCellFormatter(this, new FlexTable$FlexCellFormatter_0(this));
  $setColumnFormatter(this, new HTMLTable$ColumnFormatter_0(this));
}

function addCells(table, row, num){
  var rowElem = table.rows[row];
  for (var i = 0; i < num; i++) {
    var cell = $doc.createElement('td');
    rowElem.appendChild(cell);
  }
}

defineSeed(564, 565, makeCastMap([Q$HasAllDragAndDropHandlers, Q$HasClickHandlers, Q$HasDoubleClickHandlers, Q$HasDragEndHandlers, Q$HasDragEnterHandlers, Q$HasDragHandlers, Q$HasDragLeaveHandlers, Q$HasDragOverHandlers, Q$HasDragStartHandlers, Q$HasDropHandlers, Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$FlexTable, Q$HTMLTable, Q$HasVisibility, Q$HasWidgets, Q$HasWidgets$ForIsWidget, Q$IsWidget, Q$Panel, Q$SourcesTableEvents, Q$UIObject, Q$Widget, Q$Iterable]), FlexTable_0);
_.getCellCount = function getCellCount(row){
  return $checkRowBounds(this, row) , $getDOMCellCount(this.bodyElem, row);
}
;
_.getRowCount = function getRowCount(){
  return this.bodyElem.rows.length;
}
;
_.prepareCell = function prepareCell(row, column){
  $prepareCell(this, row, column);
}
;
function $getCellElement_0(table, row, col){
  return table.rows[row].cells[col];
}

function $getElement_0(this$static, row, column){
  $checkCellBounds(this$static.this$0, row, column);
  return $getCellElement_0(this$static.this$0.bodyElem, row, column);
}

function $getRawElement(this$static, row, column){
  return $getCellElement_0(this$static.this$0.bodyElem, row, column);
}

function HTMLTable$CellFormatter_0(this$0){
  this.this$0 = this$0;
}

defineSeed(567, 1, {}, HTMLTable$CellFormatter_0);
_.this$0 = null;
function FlexTable$FlexCellFormatter_0(this$0){
  this.this$0 = this$0;
}

defineSeed(566, 567, {}, FlexTable$FlexCellFormatter_0);
function FocusPanel_0(){
  SimplePanel_1.call(this, $createFocusable());
}

defineSeed(568, 548, makeCastMap([Q$HasAllDragAndDropHandlers, Q$HasAllFocusHandlers, Q$HasAllGestureHandlers, Q$HasAllKeyHandlers, Q$HasAllMouseHandlers, Q$HasAllTouchHandlers, Q$HasBlurHandlers, Q$HasClickHandlers, Q$HasDoubleClickHandlers, Q$HasDragEndHandlers, Q$HasDragEnterHandlers, Q$HasDragHandlers, Q$HasDragLeaveHandlers, Q$HasDragOverHandlers, Q$HasDragStartHandlers, Q$HasDropHandlers, Q$HasFocusHandlers, Q$HasGestureChangeHandlers, Q$HasGestureEndHandlers, Q$HasGestureStartHandlers, Q$HasKeyDownHandlers, Q$HasKeyPressHandlers, Q$HasKeyUpHandlers, Q$HasMouseDownHandlers, Q$HasMouseMoveHandlers, Q$HasMouseOutHandlers, Q$HasMouseOverHandlers, Q$HasMouseUpHandlers, Q$HasMouseWheelHandlers, Q$HasTouchCancelHandlers, Q$HasTouchEndHandlers, Q$HasTouchMoveHandlers, Q$HasTouchStartHandlers, Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$AcceptsOneWidget, Q$Focusable, Q$HasFocus, Q$HasOneWidget, Q$HasVisibility, Q$HasWidgets, Q$HasWidgets$ForIsWidget, Q$IsWidget, Q$Panel, Q$SimplePanel, Q$SourcesClickEvents, Q$SourcesFocusEvents, Q$SourcesKeyboardEvents, Q$SourcesMouseEvents, Q$UIObject, Q$Widget, Q$Iterable]), FocusPanel_0);
function $clearCell(this$static, row, column){
  var b, td;
  td = $getElement_0(this$static.cellFormatter, row, column);
  b = $internalClearCell(this$static, td, false);
  $setInnerHTML(td, '&nbsp;');
  return b;
}

function $prepareRow_0(this$static, row){
  if (row < 0) {
    throw new IndexOutOfBoundsException_1('Cannot access a row with a negative index: ' + row);
  }
  if (row >= this$static.numRows) {
    throw new IndexOutOfBoundsException_1('Row index: ' + row + ', Row size: ' + this$static.numRows);
  }
}

function $removeRow_0(this$static, row){
  $removeRow(this$static, row);
  --this$static.numRows;
}

function $resizeColumns(this$static, columns){
  var i, j, td, tr, tr_0, td_0, td_1;
  if (this$static.numColumns == columns) {
    return;
  }
  if (columns < 0) {
    throw new IndexOutOfBoundsException_1('Cannot set number of columns to ' + columns);
  }
  if (this$static.numColumns > columns) {
    for (i = 0; i < this$static.numRows; ++i) {
      for (j = this$static.numColumns - 1; j >= columns; --j) {
        $checkCellBounds(this$static, i, j);
        td = $cleanCell(this$static, i, j, false);
        tr = $getRow_0(this$static.bodyElem, i);
        tr.removeChild(td);
      }
    }
  }
   else {
    for (i = 0; i < this$static.numRows; ++i) {
      for (j = this$static.numColumns; j < columns; ++j) {
        tr_0 = $getRow_0(this$static.bodyElem, i);
        td_0 = (td_1 = $doc.createElement('td') , $setInnerHTML(td_1, '&nbsp;') , td_1);
        $insertChild_0(tr_0, ($clinit_PotentialElement() , $resolve(td_0)), j);
      }
    }
  }
  this$static.numColumns = columns;
  $resizeColumnGroup(this$static.columnFormatter, columns, false);
}

function $resizeRows(this$static, rows){
  if (this$static.numRows == rows) {
    return;
  }
  if (rows < 0) {
    throw new IndexOutOfBoundsException_1('Cannot set number of rows to ' + rows);
  }
  if (this$static.numRows < rows) {
    addRows(this$static.bodyElem, rows - this$static.numRows, this$static.numColumns);
    this$static.numRows = rows;
  }
   else {
    while (this$static.numRows > rows) {
      $removeRow_0(this$static, this$static.numRows - 1);
    }
  }
}

function Grid_0(rows, columns){
  HTMLTable_0.call(this);
  $setCellFormatter(this, new HTMLTable$CellFormatter_0(this));
  $setColumnFormatter(this, new HTMLTable$ColumnFormatter_0(this));
  $resizeColumns(this, columns);
  $resizeRows(this, rows);
}

function addRows(table, rows, columns){
  var td = $doc.createElement('td');
  td.innerHTML = '&nbsp;';
  var row = $doc.createElement('tr');
  for (var cellNum = 0; cellNum < columns; cellNum++) {
    var cell = td.cloneNode(true);
    row.appendChild(cell);
  }
  table.appendChild(row);
  for (var rowNum = 1; rowNum < rows; rowNum++) {
    table.appendChild(row.cloneNode(true));
  }
}

defineSeed(569, 565, makeCastMap([Q$HasAllDragAndDropHandlers, Q$HasClickHandlers, Q$HasDoubleClickHandlers, Q$HasDragEndHandlers, Q$HasDragEnterHandlers, Q$HasDragHandlers, Q$HasDragLeaveHandlers, Q$HasDragOverHandlers, Q$HasDragStartHandlers, Q$HasDropHandlers, Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$Grid, Q$HTMLTable, Q$HasVisibility, Q$HasWidgets, Q$HasWidgets$ForIsWidget, Q$IsWidget, Q$Panel, Q$SourcesTableEvents, Q$UIObject, Q$Widget, Q$Iterable]), Grid_0);
_.getCellCount = function getCellCount_0(row){
  return this.numColumns;
}
;
_.getRowCount = function getRowCount_0(){
  return this.numRows;
}
;
_.prepareCell = function prepareCell_0(row, column){
  $prepareRow_0(this, row);
  if (column < 0) {
    throw new IndexOutOfBoundsException_1('Cannot access a column with a negative index: ' + column);
  }
  if (column >= this.numColumns) {
    throw new IndexOutOfBoundsException_1('Column index: ' + column + ', Column size: ' + this.numColumns);
  }
}
;
_.numColumns = 0;
_.numRows = 0;
function $findNext(this$static){
  while (++this$static.nextIndex < this$static.widgetList.size_0) {
    if ($get_6(this$static.widgetList, this$static.nextIndex) != null) {
      return;
    }
  }
}

function $next_0(this$static){
  var result;
  if (this$static.nextIndex >= this$static.widgetList.size_0) {
    throw new NoSuchElementException_0;
  }
  result = dynamicCast($get_6(this$static.widgetList, this$static.nextIndex), Q$Widget);
  this$static.lastIndex_0 = this$static.nextIndex;
  $findNext(this$static);
  return result;
}

function HTMLTable$1_0(this$0){
  this.this$0 = this$0;
  this.widgetList = this.this$0.widgetMap.uiObjectList;
  $findNext(this);
}

defineSeed(570, 1, {}, HTMLTable$1_0);
_.hasNext = function hasNext_1(){
  return this.nextIndex < this.widgetList.size_0;
}
;
_.next_0 = function next_2(){
  return $next_0(this);
}
;
_.remove_3 = function remove_21(){
  var w;
  if (this.lastIndex_0 < 0) {
    throw new IllegalStateException_0;
  }
  w = dynamicCast($get_6(this.widgetList, this.lastIndex_0), Q$Widget);
  w.removeFromParent();
  this.lastIndex_0 = -1;
}
;
_.lastIndex_0 = -1;
_.nextIndex = -1;
_.this$0 = null;
function $prepareColumnGroup(this$static){
  if (!this$static.columnGroup) {
    this$static.columnGroup = $doc.createElement('colgroup');
    insertChild(this$static.this$0.tableElem, this$static.columnGroup, 0);
    $appendChild_0(this$static.columnGroup, ($clinit_PotentialElement() , $resolve($doc.createElement('col'))));
  }
}

function $resizeColumnGroup(this$static, columns, growOnly){
  var i, num;
  columns = columns > 1?columns:1;
  num = this$static.columnGroup.childNodes.length;
  if (num < columns) {
    for (i = num; i < columns; ++i) {
      $appendChild_0(this$static.columnGroup, $doc.createElement('col'));
    }
  }
   else if (!growOnly && num > columns) {
    for (i = num; i > columns; --i) {
      $removeChild(this$static.columnGroup, this$static.columnGroup.lastChild);
    }
  }
}

function HTMLTable$ColumnFormatter_0(this$0){
  this.this$0 = this$0;
}

defineSeed(571, 1, {}, HTMLTable$ColumnFormatter_0);
_.columnGroup = null;
_.this$0 = null;
function $getRow_0(elem, row){
  return elem.rows[row];
}

function $clinit_HasAutoHorizontalAlignment(){
  $clinit_HasAutoHorizontalAlignment = nullMethod;
  ALIGN_CONTENT_START = new HasHorizontalAlignment$AutoHorizontalAlignmentConstant_0;
}

var ALIGN_CONTENT_START;
function $clinit_HasHorizontalAlignment(){
  $clinit_HasHorizontalAlignment = nullMethod;
  ALIGN_CENTER = new HasHorizontalAlignment$HorizontalAlignmentConstant_0(($clinit_Style$TextAlign() , 'center'));
  new HasHorizontalAlignment$HorizontalAlignmentConstant_0('justify');
  ALIGN_LEFT = new HasHorizontalAlignment$HorizontalAlignmentConstant_0('left');
  ALIGN_RIGHT = new HasHorizontalAlignment$HorizontalAlignmentConstant_0('right');
  ALIGN_LOCALE_START = ($clinit_LocaleInfo() , ALIGN_LEFT);
  ALIGN_LOCALE_END = ALIGN_RIGHT;
  ALIGN_DEFAULT = ALIGN_LOCALE_START;
}

var ALIGN_CENTER, ALIGN_DEFAULT, ALIGN_LEFT, ALIGN_LOCALE_END, ALIGN_LOCALE_START, ALIGN_RIGHT;
function HasHorizontalAlignment$AutoHorizontalAlignmentConstant_0(){
}

defineSeed(573, 1, {}, HasHorizontalAlignment$AutoHorizontalAlignmentConstant_0);
function HasHorizontalAlignment$HorizontalAlignmentConstant_0(textAlignString){
  this.textAlignString = textAlignString;
}

function endOf(direction){
  return direction == ($clinit_HasDirection$Direction() , LTR)?($clinit_HasHorizontalAlignment() , ALIGN_RIGHT):direction == RTL?($clinit_HasHorizontalAlignment() , ALIGN_LEFT):($clinit_HasHorizontalAlignment() , ALIGN_LOCALE_END);
}

function startOf(direction){
  return direction == ($clinit_HasDirection$Direction() , LTR)?($clinit_HasHorizontalAlignment() , ALIGN_LEFT):direction == RTL?($clinit_HasHorizontalAlignment() , ALIGN_RIGHT):($clinit_HasHorizontalAlignment() , ALIGN_LOCALE_START);
}

defineSeed(574, 573, {}, HasHorizontalAlignment$HorizontalAlignmentConstant_0);
_.textAlignString = null;
function $clinit_HasVerticalAlignment(){
  $clinit_HasVerticalAlignment = nullMethod;
  ALIGN_BOTTOM = new HasVerticalAlignment$VerticalAlignmentConstant_0('bottom');
  ALIGN_MIDDLE = new HasVerticalAlignment$VerticalAlignmentConstant_0('middle');
  ALIGN_TOP = new HasVerticalAlignment$VerticalAlignmentConstant_0('top');
}

var ALIGN_BOTTOM, ALIGN_MIDDLE, ALIGN_TOP;
function HasVerticalAlignment$VerticalAlignmentConstant_0(verticalAlignString){
  this.verticalAlignString = verticalAlignString;
}

defineSeed(575, 1, {}, HasVerticalAlignment$VerticalAlignmentConstant_0);
_.verticalAlignString = null;
--></script>
<script><!--
function $add_15(this$static, w){
  var td;
  td = $createAlignedTd(this$static);
  $appendChild_0(this$static.tableRow, ($clinit_PotentialElement() , $resolve(td)));
  $add_10(this$static, w, td);
}

function $createAlignedTd(this$static){
  var td;
  td = $doc.createElement('td');
  td['align'] = this$static.horzAlign.textAlignString;
  setStyleAttribute_0(td, 'verticalAlign', this$static.vertAlign.verticalAlignString);
  return td;
}

function $insert_8(this$static, w, beforeIndex){
  var td;
  $checkIndexBoundsForInsertion(this$static, beforeIndex);
  td = $createAlignedTd(this$static);
  insertChild(this$static.tableRow, td, beforeIndex);
  $insert_4(this$static, w, td, beforeIndex, false);
}

function $remove_13(this$static, w){
  var removed, td;
  td = $getParentElement(w.getElement());
  removed = $remove_7(this$static, w);
  removed && $removeChild(this$static.tableRow, td);
  return removed;
}

function $setHorizontalAlignment_0(this$static, align){
  this$static.horzAlign = align;
}

function $setVerticalAlignment(this$static, align){
  this$static.vertAlign = align;
}

function HorizontalPanel_2(){
  CellPanel_0.call(this);
  this.horzAlign = ($clinit_HasHorizontalAlignment() , ALIGN_DEFAULT);
  this.vertAlign = ($clinit_HasVerticalAlignment() , ALIGN_TOP);
  this.tableRow = $doc.createElement('tr');
  $appendChild_0(this.body_0, ($clinit_PotentialElement() , $resolve(this.tableRow)));
  this.table['cellSpacing'] = '0';
  this.table['cellPadding'] = '0';
}

defineSeed(576, 539, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$CellPanel, Q$ComplexPanel, Q$HasAlignment, Q$HasHorizontalAlignment, Q$HasVerticalAlignment, Q$HasVisibility, Q$HasWidgets, Q$HasWidgets$ForIsWidget, Q$HorizontalPanel_0, Q$IndexedPanel, Q$IndexedPanel$ForIsWidget, Q$InsertPanel, Q$InsertPanel$ForIsWidget, Q$IsWidget, Q$Panel, Q$UIObject, Q$Widget, Q$Iterable]), HorizontalPanel_2);
_.insert_0 = function insert_6(w, beforeIndex){
  $insert_8(this, w, beforeIndex);
}
;
_.remove_5 = function remove_22(w){
  return $remove_13(this, w);
}
;
_.tableRow = null;
function $clinit_Image(){
  $clinit_Image = nullMethod;
  new HashMap_0;
}

function $changeState(this$static, newState){
  this$static.state = newState;
}

function Image_1(url){
  $changeState(this, new Image$UnclippedState_0(this, url));
  this.element['className'] = 'gwt-Image';
}

function Image_2(url, left, top_0, width, height){
  $clinit_Image();
  $changeState(this, new Image$ClippedState_0(this, url, left, top_0, width, height));
  this.element['className'] = 'gwt-Image';
}

function Image_3(url){
  $clinit_Image();
  Image_1.call(this, ($clinit_UriUtils() , new SafeUriString_0(url)));
}

defineSeed(577, 145, makeCastMap([Q$HasAllDragAndDropHandlers, Q$HasAllGestureHandlers, Q$HasAllMouseHandlers, Q$HasAllTouchHandlers, Q$HasClickHandlers, Q$HasDoubleClickHandlers, Q$HasDragEndHandlers, Q$HasDragEnterHandlers, Q$HasDragHandlers, Q$HasDragLeaveHandlers, Q$HasDragOverHandlers, Q$HasDragStartHandlers, Q$HasDropHandlers, Q$HasErrorHandlers, Q$HasGestureChangeHandlers, Q$HasGestureEndHandlers, Q$HasGestureStartHandlers, Q$HasLoadHandlers, Q$HasMouseDownHandlers, Q$HasMouseMoveHandlers, Q$HasMouseOutHandlers, Q$HasMouseOverHandlers, Q$HasMouseUpHandlers, Q$HasMouseWheelHandlers, Q$HasTouchCancelHandlers, Q$HasTouchEndHandlers, Q$HasTouchMoveHandlers, Q$HasTouchStartHandlers, Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$Image, Q$IsWidget, Q$SourcesClickEvents, Q$SourcesLoadEvents, Q$SourcesMouseEvents, Q$UIObject, Q$Widget]), Image_2, Image_3);
_.onBrowserEvent = function onBrowserEvent_7(event_0){
  if ($eventGetTypeInt(event_0.type) == 32768) {
    !!this.state && (this.state.getImageElement(this)['__gwtLastUnhandledEvent'] = '' , undefined);
    this.state.onLoadEvent(this);
  }
  $onBrowserEvent(this, event_0);
}
;
_.onLoad = function onLoad_1(){
  $onLoad_0(this.state, this);
}
;
_.state = null;
function $onLoad_0(this$static, image){
  var unhandledEvent;
  unhandledEvent = $getPropertyString(this$static.getImageElement(image), '__gwtLastUnhandledEvent');
  $equals_2('load', unhandledEvent) && (this$static.syntheticEventCommand = new Image$State$1_0(this$static, image) , $scheduleDeferred(($clinit_SchedulerImpl() , INSTANCE_0), this$static.syntheticEventCommand));
}

defineSeed(579, 1, {});
_.onLoadEvent = function onLoadEvent(image){
}
;
_.syntheticEventCommand = null;
function $clinit_Image$ClippedState(){
  $clinit_Image$ClippedState = nullMethod;
  $clinit_ClippedImageImpl();
}

function Image$ClippedState_0(image, url, left, top_0, width, height){
  $clinit_Image$ClippedState();
  $replaceElement(image, $createStructure(url, left, top_0, width, height));
  image.eventsToSink == -1?$sinkEvents_1(image.element, 133333119 | (image.element.__eventBits || 0)):(image.eventsToSink |= 133333119);
}

defineSeed(578, 579, {}, Image$ClippedState_0);
_.getImageElement = function getImageElement(image){
  return image.element;
}
;
_.onLoadEvent = function onLoadEvent_0(image){
}
;
function Image$State$1_0(this$1, val$image){
  this.this$1 = this$1;
  this.val$image = val$image;
}

defineSeed(580, 1, {}, Image$State$1_0);
_.execute = function execute_18(){
  var evt, evt_0;
  if (this.val$image.state != this.this$1 || this != this.this$1.syntheticEventCommand) {
    return;
  }
  this.this$1.syntheticEventCommand = null;
  if (!this.val$image.attached) {
    this.this$1.getImageElement(this.val$image)['__gwtLastUnhandledEvent'] = 'load';
    return;
  }
  evt = (evt_0 = $doc.createEvent('HTMLEvents') , evt_0.initEvent('load', false, false) , evt_0);
  $dispatchEvent(this.this$1.getImageElement(this.val$image), evt);
}
;
_.this$1 = null;
_.val$image = null;
function Image$UnclippedState_0(image, url){
  $replaceElement(image, $doc.createElement('img'));
  sinkEvents_2(image.element);
  image.eventsToSink == -1?$sinkEvents_1(image.element, 133398655 | (image.element.__eventBits || 0)):(image.eventsToSink |= 133398655);
  !!image.state && (image.state.getImageElement(image)['__gwtLastUnhandledEvent'] = '' , undefined);
  $imgSetSrc(image.element, url.uri);
}

defineSeed(581, 579, {}, Image$UnclippedState_0);
_.getImageElement = function getImageElement_0(image){
  return image.element;
}
;
function $equals_1(this$static, o){
  var elem, elemOther, iter, iterOther, other;
  if (o === this$static) {
    return true;
  }
  if (!instanceOf(o, Q$List)) {
    return false;
  }
  other = dynamicCast(o, Q$List);
  if (this$static.size_1() != other.size_1()) {
    return false;
  }
  iter = this$static.iterator_0();
  iterOther = other.iterator_0();
  while (iter.i < iter.this$0_0.size_1()) {
    elem = $next_3(iter);
    elemOther = $next_3(iterOther);
    if (!(elem == null?elemOther == null:equals__devirtual$(elem, elemOther))) {
      return false;
    }
  }
  return true;
}

function $hashCode_0(this$static){
  var iter, k, obj;
  k = 1;
  iter = this$static.iterator_0();
  while (iter.i < iter.this$0_0.size_1()) {
    obj = $next_3(iter);
    k = 31 * k + (obj == null?0:hashCode__devirtual$(obj));
    k = ~~k;
  }
  return k;
}

function $indexOf_0(this$static, toFind){
  var i, n;
  for (i = 0 , n = this$static.array.length; i < n; ++i) {
    if (toFind == null?(checkIndex(i, this$static.array.length) , this$static.array[i]) == null:equals__devirtual$(toFind, (checkIndex(i, this$static.array.length) , this$static.array[i]))) {
      return i;
    }
  }
  return -1;
}

function checkIndex(index, size){
  (index < 0 || index >= size) && indexOutOfBounds(index, size);
}

function indexOutOfBounds(index, size){
  throw new IndexOutOfBoundsException_1('Index: ' + index + ', Size: ' + size);
}

defineSeed(584, 71, makeCastMap([Q$Iterable, Q$List]));
_.add_1 = function add_3(index, element){
  throw new UnsupportedOperationException_1('Add not supported on this list');
}
;
_.add_0 = function add_4(obj){
  this.add_1(this.size_1(), obj);
  return true;
}
;
_.equals$ = function equals_19(o){
  return $equals_1(this, o);
}
;
_.hashCode$ = function hashCode_18(){
  return $hashCode_0(this);
}
;
_.iterator_0 = function iterator_9(){
  return new AbstractList$IteratorImpl_0(this);
}
;
_.listIterator = function listIterator(){
  return new AbstractList$ListIteratorImpl_0(this, 0);
}
;
_.listIterator_0 = function listIterator_0(from){
  return new AbstractList$ListIteratorImpl_0(this, from);
}
;
_.remove_6 = function remove_23(index){
  throw new UnsupportedOperationException_1('Remove not supported on this list');
}
;
_.set_0 = function set_0(index, o){
  throw new UnsupportedOperationException_1('Set not supported on this list');
}
;
function $$init(this$static){
  this$static.array = initDim(_3Ljava_lang_Object_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$Object, 0, 0);
}

function $add_16(this$static, index, o){
  (index < 0 || index > this$static.size_0) && indexOutOfBounds(index, this$static.size_0);
  splice_1(this$static.array, index, 0, o);
  ++this$static.size_0;
}

function $add_17(this$static, o){
  setCheck(this$static.array, this$static.size_0++, o);
  return true;
}

function $clear_1(this$static){
  this$static.array = initDim(_3Ljava_lang_Object_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$Object, 0, 0);
  this$static.size_0 = 0;
}

function $get_6(this$static, index){
  checkIndex(index, this$static.size_0);
  return this$static.array[index];
}

function $indexOf_1(this$static, o, index){
  for (; index < this$static.size_0; ++index) {
    if (equalsWithNullCheck(o, this$static.array[index])) {
      return index;
    }
  }
  return -1;
}

function $remove_14(this$static, index){
  var previous;
  previous = (checkIndex(index, this$static.size_0) , this$static.array[index]);
  splice_0(this$static.array, index, 1);
  --this$static.size_0;
  return previous;
}

function $remove_15(this$static, o){
  var i;
  i = $indexOf_1(this$static, o, 0);
  if (i == -1) {
    return false;
  }
  $remove_14(this$static, i);
  return true;
}

function $set_11(this$static, index, o){
  var previous;
  previous = (checkIndex(index, this$static.size_0) , this$static.array[index]);
  setCheck(this$static.array, index, o);
  return previous;
}

function $toArray(this$static){
  return cloneSubrange(this$static.array, 0, this$static.size_0);
}

function $toArray_0(this$static, out){
  var i;
  out.length < this$static.size_0 && (out = createFrom(out, this$static.size_0));
  for (i = 0; i < this$static.size_0; ++i) {
    setCheck(out, i, this$static.array[i]);
  }
  out.length > this$static.size_0 && setCheck(out, this$static.size_0, null);
  return out;
}

function ArrayList_0(){
  $$init(this);
}

function ArrayList_1(){
  $$init(this);
  this.array.length = 3;
}

function ArrayList_2(c){
  $$init(this);
  spliceArray(this.array, 0, 0, c.toArray());
  this.size_0 = this.array.length;
}

function splice_0(array, index, deleteCount){
  array.splice(index, deleteCount);
}

function splice_1(array, index, deleteCount, value){
  array.splice(index, deleteCount, value);
}

function spliceArray(array, index, deleteCount, values){
  Array.prototype.splice.apply(array, [index, deleteCount].concat(values));
}

defineSeed(583, 584, makeCastMap([Q$Serializable, Q$Iterable, Q$ArrayList, Q$List]), ArrayList_0, ArrayList_1, ArrayList_2);
_.add_1 = function add_5(index, o){
  $add_16(this, index, o);
}
;
_.add_0 = function add_6(o){
  return $add_17(this, o);
}
;
_.contains_0 = function contains_4(o){
  return $indexOf_1(this, o, 0) != -1;
}
;
_.get_2 = function get_2(index){
  return $get_6(this, index);
}
;
_.isEmpty = function isEmpty_3(){
  return this.size_0 == 0;
}
;
_.remove_6 = function remove_24(index){
  return $remove_14(this, index);
}
;
_.remove_2 = function remove_25(o){
  return $remove_15(this, o);
}
;
_.set_0 = function set_1(index, o){
  return $set_11(this, index, o);
}
;
_.size_1 = function size_6(){
  return this.size_0;
}
;
_.toArray = function toArray_1(){
  return $toArray(this);
}
;
_.toArray_0 = function toArray_2(out){
  return $toArray_0(this, out);
}
;
_.size_0 = 0;
function getKeyboardModifiers(event_0){
  return (event_0.shiftKey?1:0) | (event_0.metaKey?8:0) | (event_0.ctrlKey?2:0) | (event_0.altKey?4:0);
}

function $checkIndex(this$static, index){
  if (index < 0 || index >= this$static.element.options.length) {
    throw new IndexOutOfBoundsException_0;
  }
}

function $getItemText(this$static, index){
  $checkIndex(this$static, index);
  return $getOptionText(this$static.element.options[index]);
}

function $getOptionText(option){
  var text;
  text = option.text;
  option.hasAttribute('bidiwrapped') && text.length > 1 && (text = $substring_0(text, 1, text.length - 1));
  return text;
}

function $getValue_0(this$static, index){
  $checkIndex(this$static, index);
  return this$static.element.options[index].value;
}

function $insertItem(this$static, item){
  $insertItem_0(this$static, item, item, -1);
}

function $insertItem_0(this$static, item, value, index){
  var before, itemCount, option, select;
  select = this$static.element;
  option = $doc.createElement('option');
  option.text = item;
  option.removeAttribute('bidiwrapped');
  option.value = value;
  itemCount = select.options.length;
  (index < 0 || index > itemCount) && (index = itemCount);
  if (index == itemCount) {
    select.add(option, null);
  }
   else {
    before = select.options[index];
    select.add(option, before);
  }
}

function $isItemSelected(this$static, index){
  $checkIndex(this$static, index);
  return !!this$static.element.options[index].selected;
}

function $removeItem_1(this$static, index){
  $checkIndex(this$static, index);
  $selectRemoveOption(this$static.element, index);
}

function ListBox_0(){
  FocusWidget_0.call(this, $doc.createElement('select'));
  this.element['className'] = 'gwt-ListBox';
}

defineSeed(585, 538, makeCastMap([Q$HasAllDragAndDropHandlers, Q$HasAllFocusHandlers, Q$HasAllGestureHandlers, Q$HasAllKeyHandlers, Q$HasAllMouseHandlers, Q$HasAllTouchHandlers, Q$HasBlurHandlers, Q$HasClickHandlers, Q$HasDoubleClickHandlers, Q$HasDragEndHandlers, Q$HasDragEnterHandlers, Q$HasDragHandlers, Q$HasDragLeaveHandlers, Q$HasDragOverHandlers, Q$HasDragStartHandlers, Q$HasDropHandlers, Q$HasFocusHandlers, Q$HasGestureChangeHandlers, Q$HasGestureEndHandlers, Q$HasGestureStartHandlers, Q$HasKeyDownHandlers, Q$HasKeyPressHandlers, Q$HasKeyUpHandlers, Q$HasMouseDownHandlers, Q$HasMouseMoveHandlers, Q$HasMouseOutHandlers, Q$HasMouseOverHandlers, Q$HasMouseUpHandlers, Q$HasMouseWheelHandlers, Q$HasTouchCancelHandlers, Q$HasTouchEndHandlers, Q$HasTouchMoveHandlers, Q$HasTouchStartHandlers, Q$HasAttachHandlers, Q$HasHandlers, Q$HasDirectionEstimator, Q$EventListener, Q$FocusWidget, Q$Focusable, Q$HasEnabled, Q$HasFocus, Q$HasVisibility, Q$IsWidget, Q$SourcesClickEvents, Q$SourcesFocusEvents, Q$SourcesKeyboardEvents, Q$SourcesMouseEvents, Q$UIObject, Q$Widget]), ListBox_0);
defineSeed(586, 501, makeCastMap([Q$EventHandler]));
function ListenerWrapper$WrappedClickListener_0(listener){
  this.listener = listener;
}

function add_7(source, listener){
  var rtn;
  rtn = new ListenerWrapper$WrappedClickListener_0(listener);
  $addDomHandler(source, rtn, ($clinit_ClickEvent() , $clinit_ClickEvent() , TYPE));
  return rtn;
}

defineSeed(587, 586, makeCastMap([Q$ClickHandler, Q$EventHandler]), ListenerWrapper$WrappedClickListener_0);
_.onClick_0 = function onClick_2(event_0){
  dynamicCast(this.listener, Q$ClickListener).onClick_1(dynamicCast(event_0.source, Q$Widget));
}
;
function ListenerWrapper$WrappedKeyboardListener_0(listener){
  this.listener = listener;
}

function add_8(source, listener){
  var b;
  b = new ListenerWrapper$WrappedKeyboardListener_0(listener);
  $addDomHandler(source, b, ($clinit_KeyDownEvent() , $clinit_KeyDownEvent() , TYPE_0));
  $addDomHandler(source, b, ($clinit_KeyPressEvent() , $clinit_KeyPressEvent() , TYPE_1));
  $addDomHandler(source, b, ($clinit_KeyUpEvent() , $clinit_KeyUpEvent() , TYPE_2));
  return b;
}

defineSeed(588, 586, makeCastMap([Q$KeyDownHandler, Q$KeyPressHandler, Q$KeyUpHandler, Q$EventHandler]), ListenerWrapper$WrappedKeyboardListener_0);
_.onKeyPress_0 = function onKeyPress_2(event_0){
  dynamicCast(this.listener, Q$KeyboardListener).onKeyPress_1(dynamicCast(event_0.source, Q$Widget), (event_0.nativeEvent.keyCode || 0) & 65535, getKeyboardModifiers(event_0.nativeEvent));
}
;
_.onKeyUp = function onKeyUp_1(event_0){
  dynamicCast(event_0.source, Q$Widget);
  dynamicCast(this.listener, Q$KeyboardListener).onKeyUp_0(dynamicCast(event_0.source, Q$Widget), (event_0.nativeEvent.keyCode || 0) & 65535, getKeyboardModifiers(event_0.nativeEvent));
}
;
function ListenerWrapper$WrappedTabListener_0(listener){
  this.listener = listener;
}

function add_9(source, listener){
  var t;
  t = new ListenerWrapper$WrappedTabListener_0(listener);
  $addHandler(source, t, (!TYPE_13 && (TYPE_13 = new GwtEvent$Type_0) , TYPE_13));
  $addHandler(source, t, (!TYPE_16 && (TYPE_16 = new GwtEvent$Type_0) , TYPE_16));
}

defineSeed(589, 586, makeCastMap([Q$BeforeSelectionHandler, Q$SelectionHandler, Q$EventHandler]), ListenerWrapper$WrappedTabListener_0);
function $setAlignment_0(this$static){
  this$static.element.style['textAlign'] = 'center';
}

function ValueBoxBase_0(elem){
  this.element = elem;
  addTo($clinit_LocaleInfo());
}

defineSeed(593, 538, makeCastMap([Q$IsEditor, Q$HasAllDragAndDropHandlers, Q$HasAllFocusHandlers, Q$HasAllGestureHandlers, Q$HasAllKeyHandlers, Q$HasAllMouseHandlers, Q$HasAllTouchHandlers, Q$HasBlurHandlers, Q$HasClickHandlers, Q$HasDoubleClickHandlers, Q$HasDragEndHandlers, Q$HasDragEnterHandlers, Q$HasDragHandlers, Q$HasDragLeaveHandlers, Q$HasDragOverHandlers, Q$HasDragStartHandlers, Q$HasDropHandlers, Q$HasFocusHandlers, Q$HasGestureChangeHandlers, Q$HasGestureEndHandlers, Q$HasGestureStartHandlers, Q$HasKeyDownHandlers, Q$HasKeyPressHandlers, Q$HasKeyUpHandlers, Q$HasMouseDownHandlers, Q$HasMouseMoveHandlers, Q$HasMouseOutHandlers, Q$HasMouseOverHandlers, Q$HasMouseUpHandlers, Q$HasMouseWheelHandlers, Q$HasTouchCancelHandlers, Q$HasTouchEndHandlers, Q$HasTouchMoveHandlers, Q$HasTouchStartHandlers, Q$HasAttachHandlers, Q$HasValueChangeHandlers, Q$HasHandlers, Q$HasDirection, Q$HasDirectionEstimator, Q$EventListener, Q$TakesValue, Q$FocusWidget, Q$Focusable, Q$HasEnabled, Q$HasFocus, Q$HasText, Q$HasValue, Q$HasVisibility, Q$IsWidget, Q$SourcesClickEvents, Q$SourcesFocusEvents, Q$SourcesKeyboardEvents, Q$SourcesMouseEvents, Q$UIObject, Q$Widget]));
_.onBrowserEvent = function onBrowserEvent_8(event_0){
  var type;
  type = $eventGetTypeInt(event_0.type);
  (type & 896) != 0?$onBrowserEvent(this, event_0):$onBrowserEvent(this, event_0);
}
;
_.onLoad = function onLoad_2(){
}
;
function $clinit_TextBoxBase(){
  $clinit_TextBoxBase = nullMethod;
  $clinit_ValueBoxBase$TextAlignment();
}

defineSeed(592, 593, makeCastMap([Q$IsEditor, Q$HasAllDragAndDropHandlers, Q$HasAllFocusHandlers, Q$HasAllGestureHandlers, Q$HasAllKeyHandlers, Q$HasAllMouseHandlers, Q$HasAllTouchHandlers, Q$HasBlurHandlers, Q$HasClickHandlers, Q$HasDoubleClickHandlers, Q$HasDragEndHandlers, Q$HasDragEnterHandlers, Q$HasDragHandlers, Q$HasDragLeaveHandlers, Q$HasDragOverHandlers, Q$HasDragStartHandlers, Q$HasDropHandlers, Q$HasFocusHandlers, Q$HasGestureChangeHandlers, Q$HasGestureEndHandlers, Q$HasGestureStartHandlers, Q$HasKeyDownHandlers, Q$HasKeyPressHandlers, Q$HasKeyUpHandlers, Q$HasMouseDownHandlers, Q$HasMouseMoveHandlers, Q$HasMouseOutHandlers, Q$HasMouseOverHandlers, Q$HasMouseUpHandlers, Q$HasMouseWheelHandlers, Q$HasTouchCancelHandlers, Q$HasTouchEndHandlers, Q$HasTouchMoveHandlers, Q$HasTouchStartHandlers, Q$HasAttachHandlers, Q$HasValueChangeHandlers, Q$HasHandlers, Q$HasDirection, Q$HasDirectionEstimator, Q$EventListener, Q$TakesValue, Q$FocusWidget, Q$Focusable, Q$HasEnabled, Q$HasFocus, Q$HasText, Q$HasValue, Q$HasVisibility, Q$IsWidget, Q$SourcesClickEvents, Q$SourcesFocusEvents, Q$SourcesKeyboardEvents, Q$SourcesMouseEvents, Q$UIObject, Q$Widget]));
function TextBox_0(){
  $clinit_TextBoxBase();
  TextBox_1.call(this, $createInputElement($doc, 'text'), 'gwt-TextBox');
}

function TextBox_1(element, styleName){
  ValueBoxBase_0.call(this, element, (!INSTANCE_2 && (INSTANCE_2 = new PassthroughRenderer_0) , !INSTANCE_1 && (INSTANCE_1 = new PassthroughParser_0)));
  styleName != null && (this.element['className'] = styleName , undefined);
}

defineSeed(591, 592, makeCastMap([Q$IsEditor, Q$HasAllDragAndDropHandlers, Q$HasAllFocusHandlers, Q$HasAllGestureHandlers, Q$HasAllKeyHandlers, Q$HasAllMouseHandlers, Q$HasAllTouchHandlers, Q$HasBlurHandlers, Q$HasClickHandlers, Q$HasDoubleClickHandlers, Q$HasDragEndHandlers, Q$HasDragEnterHandlers, Q$HasDragHandlers, Q$HasDragLeaveHandlers, Q$HasDragOverHandlers, Q$HasDragStartHandlers, Q$HasDropHandlers, Q$HasFocusHandlers, Q$HasGestureChangeHandlers, Q$HasGestureEndHandlers, Q$HasGestureStartHandlers, Q$HasKeyDownHandlers, Q$HasKeyPressHandlers, Q$HasKeyUpHandlers, Q$HasMouseDownHandlers, Q$HasMouseMoveHandlers, Q$HasMouseOutHandlers, Q$HasMouseOverHandlers, Q$HasMouseUpHandlers, Q$HasMouseWheelHandlers, Q$HasTouchCancelHandlers, Q$HasTouchEndHandlers, Q$HasTouchMoveHandlers, Q$HasTouchStartHandlers, Q$HasAttachHandlers, Q$HasValueChangeHandlers, Q$HasHandlers, Q$HasDirection, Q$HasDirectionEstimator, Q$EventListener, Q$TakesValue, Q$FocusWidget, Q$Focusable, Q$HasEnabled, Q$HasFocus, Q$HasText, Q$HasValue, Q$HasVisibility, Q$IsWidget, Q$SourcesClickEvents, Q$SourcesFocusEvents, Q$SourcesKeyboardEvents, Q$SourcesMouseEvents, Q$UIObject, Q$Widget]), TextBox_0);
function PasswordTextBox_0(){
  $clinit_TextBoxBase();
  TextBox_1.call(this, $createInputElement($doc, 'password'), 'gwt-PasswordTextBox');
}

defineSeed(590, 591, makeCastMap([Q$IsEditor, Q$HasAllDragAndDropHandlers, Q$HasAllFocusHandlers, Q$HasAllGestureHandlers, Q$HasAllKeyHandlers, Q$HasAllMouseHandlers, Q$HasAllTouchHandlers, Q$HasBlurHandlers, Q$HasClickHandlers, Q$HasDoubleClickHandlers, Q$HasDragEndHandlers, Q$HasDragEnterHandlers, Q$HasDragHandlers, Q$HasDragLeaveHandlers, Q$HasDragOverHandlers, Q$HasDragStartHandlers, Q$HasDropHandlers, Q$HasFocusHandlers, Q$HasGestureChangeHandlers, Q$HasGestureEndHandlers, Q$HasGestureStartHandlers, Q$HasKeyDownHandlers, Q$HasKeyPressHandlers, Q$HasKeyUpHandlers, Q$HasMouseDownHandlers, Q$HasMouseMoveHandlers, Q$HasMouseOutHandlers, Q$HasMouseOverHandlers, Q$HasMouseUpHandlers, Q$HasMouseWheelHandlers, Q$HasTouchCancelHandlers, Q$HasTouchEndHandlers, Q$HasTouchMoveHandlers, Q$HasTouchStartHandlers, Q$HasAttachHandlers, Q$HasValueChangeHandlers, Q$HasHandlers, Q$HasDirection, Q$HasDirectionEstimator, Q$EventListener, Q$TakesValue, Q$FocusWidget, Q$Focusable, Q$HasEnabled, Q$HasFocus, Q$HasText, Q$HasValue, Q$HasVisibility, Q$IsWidget, Q$SourcesClickEvents, Q$SourcesFocusEvents, Q$SourcesKeyboardEvents, Q$SourcesMouseEvents, Q$UIObject, Q$Widget]), PasswordTextBox_0);
function $onResize(){
  var height, style, width, winHeight, winWidth;
  style = null.nullMethod();
  winWidth = $getClientWidth_0($doc);
  winHeight = $getClientHeight_0($doc);
  style['display'] = ($clinit_Style$Display() , 'none');
  style['width'] = 0 + ($clinit_Style$Unit() , 'px');
  style['height'] = '0px';
  width = $getScrollWidth($doc);
  height = $getScrollHeight($doc);
  style['width'] = (width > winWidth?width:winWidth) + 'px';
  style['height'] = (height > winHeight?height:winHeight) + 'px';
  style['display'] = 'block';
}

function PopupPanel$1_0(){
}

defineSeed(594, 1, makeCastMap([Q$ResizeHandler, Q$EventHandler]), PopupPanel$1_0);
_.onResize_0 = function onResize_9(event_0){
  $onResize();
}
;
function PopupPanel$3_0(this$0){
  this.this$0 = this$0;
}

defineSeed(595, 1, makeCastMap([Q$EventHandler, Q$Event$NativePreviewHandler]), PopupPanel$3_0);
_.onPreviewNativeEvent = function onPreviewNativeEvent_3(event_0){
  $previewNativeEvent(this.this$0, event_0);
}
;
_.this$0 = null;
function PopupPanel$4_0(this$0){
  this.this$0 = this$0;
}

defineSeed(596, 1, makeCastMap([Q$ValueChangeHandler, Q$EventHandler]), PopupPanel$4_0);
_.this$0 = null;
function $maybeShowGlass(this$static){
  if (this$static.showing) {
    if (this$static.curPanel.isGlassEnabled) {
      $appendChild_0($doc.body, this$static.curPanel.glass);
      this$static.resizeRegistration = addResizeHandler(this$static.curPanel.glassResizer);
      $onResize();
      this$static.glassShowing = true;
    }
  }
   else if (this$static.glassShowing) {
    $removeChild($doc.body, this$static.curPanel.glass);
    $removeHandler(this$static.resizeRegistration.real);
    this$static.resizeRegistration = null;
    this$static.glassShowing = false;
  }
}

function $onComplete_1(this$static){
  if (!this$static.showing) {
    $maybeShowGlass(this$static);
    this$static.isUnloading || $remove_8(($clinit_RootPanel() , get_3()), this$static.curPanel);
    this$static.curPanel.element;
  }
  this$static.curPanel.element.style['clip'] = 'rect(auto, auto, auto, auto)';
  this$static.curPanel.element.style['overflow'] = 'visible';
}

function $onInstantaneousRun(this$static){
  $maybeShowGlass(this$static);
  if (this$static.showing) {
    this$static.curPanel.element.style['position'] = 'absolute';
    this$static.curPanel.topPosition != -1 && $setPopupPosition(this$static.curPanel, this$static.curPanel.leftPosition, this$static.curPanel.topPosition);
    $add_11(($clinit_RootPanel() , get_3()), this$static.curPanel);
    this$static.curPanel.element;
  }
   else {
    this$static.isUnloading || $remove_8(($clinit_RootPanel() , get_3()), this$static.curPanel);
    this$static.curPanel.element;
  }
  this$static.curPanel.element.style['overflow'] = 'visible';
}

function $onUpdate_2(this$static, progress){
  var bottom, height, left, right, top_0, width;
  this$static.showing || (progress = 1 - progress);
  top_0 = 0;
  left = 0;
  right = 0;
  bottom = 0;
  height = round_int(progress * this$static.offsetHeight_0);
  width = round_int(progress * this$static.offsetWidth_0);
  switch (0) {
    case 2:
    case 0:
      top_0 = this$static.offsetHeight_0 - height >> 1;
      left = this$static.offsetWidth_0 - width >> 1;
      right = left + width;
      bottom = top_0 + height;
  }
  $setClip(this$static.curPanel.element, 'rect(' + top_0 + 'px, ' + right + 'px, ' + bottom + 'px, ' + left + 'px)');
}

function $setState_0(this$static, showing, isUnloading){
  this$static.isUnloading = isUnloading;
  $cancel_0(this$static);
  this$static.curPanel.showing = showing;
  $updateHandlers(this$static.curPanel);
  this$static.showing = showing;
  $onInstantaneousRun(this$static);
}

function PopupPanel$ResizeAnimation_0(panel){
  Animation_0.call(this);
  this.curPanel = panel;
}

defineSeed(597, 109, {}, PopupPanel$ResizeAnimation_0);
_.onComplete = function onComplete_4(){
  $onComplete_1(this);
}
;
_.onStart = function onStart_5(){
  this.offsetHeight_0 = $getPropertyInt(this.curPanel.element, 'offsetHeight');
  this.offsetWidth_0 = $getPropertyInt(this.curPanel.element, 'offsetWidth');
  this.curPanel.element.style['overflow'] = 'hidden';
  $onUpdate_2(this, (1 + Math.cos(3.141592653589793)) / 2);
}
;
_.onUpdate = function onUpdate_1(progress){
  $onUpdate_2(this, progress);
}
;
_.curPanel = null;
_.glassShowing = false;
_.isUnloading = false;
_.offsetHeight_0 = 0;
_.offsetWidth_0 = -1;
_.resizeRegistration = null;
_.showing = false;
function $clinit_PotentialElement(){
  $clinit_PotentialElement = nullMethod;
  declareShim();
}

function $resolve(this$static){
  return this$static.__gwt_resolve?this$static.__gwt_resolve():this$static;
}

function $setResolver(this$static, resolver){
  this$static.__gwt_resolve = buildResolveCallback(resolver);
}

function buildResolveCallback(resolver){
  return function(){
    this.__gwt_resolve = cannotResolveTwice;
    return resolver.resolvePotentialElement();
  }
  ;
}

function cannotResolveTwice(){
  throw 'A PotentialElement cannot be resolved twice.';
}

function declareShim(){
  var shim = function(){
  }
  ;
  shim.prototype = {className:'', clientHeight:0, clientWidth:0, dir:'', getAttribute:function(name_0, value){
    return this[name_0];
  }
  , href:'', id:'', lang:'', nodeType:1, removeAttribute:function(name_0, value){
    this[name_0] = undefined;
  }
  , setAttribute:function(name_0, value){
    this[name_0] = value;
  }
  , src:'', style:{}, title:''};
  $wnd.GwtPotentialElementShim = shim;
}

function isPotential(o){
  $clinit_PotentialElement();
  try {
    return !!o && !!o.__gwt_resolve;
  }
   catch (e) {
    return false;
  }
}

function $clinit_RootPanel(){
  $clinit_RootPanel = nullMethod;
  maybeDetachCommand = new RootPanel$1_0;
  rootPanels = new HashMap_0;
  widgetsToDetach = new HashSet_0;
}

function RootPanel_0(elem){
  AbsolutePanel_1.call(this, elem);
  $onAttach(this);
}

function detachNow(widget){
  $clinit_RootPanel();
  try {
    widget.onDetach();
  }
   finally {
    $remove_22(widgetsToDetach, widget);
  }
}

function detachWidgets(){
  $clinit_RootPanel();
  try {
    tryCommand(widgetsToDetach, maybeDetachCommand);
  }
   finally {
    $clearImpl(widgetsToDetach.map);
    $clearImpl(rootPanels);
  }
}

function get_3(){
  $clinit_RootPanel();
  var rp;
  rp = dynamicCast($get_8(rootPanels, null), Q$RootPanel);
  if (rp) {
    return rp;
  }
  if (rootPanels.size_0 == 0) {
    addCloseHandler(new RootPanel$2_0);
    $clinit_LocaleInfo();
  }
  rp = new RootPanel$DefaultRootPanel_0;
  $put_5(rootPanels, null, rp);
  $add_20(widgetsToDetach, rp);
  return rp;
}

defineSeed(599, 529, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$AbsolutePanel, Q$ComplexPanel, Q$HasVisibility, Q$HasWidgets, Q$HasWidgets$ForIsWidget, Q$IndexedPanel, Q$IndexedPanel$ForIsWidget, Q$InsertPanel, Q$InsertPanel$ForIsWidget, Q$IsWidget, Q$Panel, Q$RootPanel, Q$UIObject, Q$Widget, Q$Iterable]));
var maybeDetachCommand, rootPanels, widgetsToDetach;
--></script>
<script><!--
function RootPanel$1_0(){
}

defineSeed(600, 1, {}, RootPanel$1_0);
_.execute_1 = function execute_19(w){
  w.isAttached() && w.onDetach();
}
;
function RootPanel$2_0(){
}

defineSeed(601, 1, makeCastMap([Q$CloseHandler, Q$EventHandler]), RootPanel$2_0);
_.onClose = function onClose_0(closeEvent){
  detachWidgets();
}
;
function RootPanel$DefaultRootPanel_0(){
  RootPanel_0.call(this, $doc.body);
}

defineSeed(602, 599, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$AbsolutePanel, Q$ComplexPanel, Q$HasVisibility, Q$HasWidgets, Q$HasWidgets$ForIsWidget, Q$IndexedPanel, Q$IndexedPanel$ForIsWidget, Q$InsertPanel, Q$InsertPanel$ForIsWidget, Q$IsWidget, Q$Panel, Q$RootPanel, Q$UIObject, Q$Widget, Q$Iterable]), RootPanel$DefaultRootPanel_0);
_.setWidgetPositionImpl = function setWidgetPositionImpl_0(w, left, top_0){
  left -= 0;
  top_0 -= 0;
  $setWidgetPositionImpl(w, left, top_0);
}
;
function $getMaximumHorizontalScrollPosition(scrollable){
  return $isRtl(scrollable)?0:(scrollable.scrollWidth || 0) - scrollable.clientWidth;
}

function $getMinimumHorizontalScrollPosition(scrollable){
  return $isRtl(scrollable)?scrollable.clientWidth - (scrollable.scrollWidth || 0):0;
}

function $isRtl(scrollable){
  var computedStyle = $doc.defaultView.getComputedStyle(scrollable, null);
  return computedStyle.getPropertyValue('direction') == 'rtl';
}

function ScrollImpl_0(){
}

defineSeed(603, 1, {}, ScrollImpl_0);
var impl_3 = null;
function $getMaximumHorizontalScrollPosition_0(this$static){
  return $getMaximumHorizontalScrollPosition((!impl_3 && (impl_3 = new ScrollImpl_0) , this$static.scrollableElem));
}

function $getMaximumVerticalScrollPosition(this$static){
  return (this$static.scrollableElem.scrollHeight || 0) - this$static.scrollableElem.clientHeight;
}

function $getMinimumHorizontalScrollPosition_0(this$static){
  return $getMinimumHorizontalScrollPosition((!impl_3 && (impl_3 = new ScrollImpl_0) , this$static.scrollableElem));
}

function $setHorizontalScrollPosition(this$static, position){
  $setScrollLeft_0(this$static.scrollableElem, position);
}

function $setSize_4(this$static, width, height){
  setStyleAttribute_0(this$static.element, 'width', width);
  setStyleAttribute_0(this$static.element, 'height', height);
}

function $setTouchScrollingDisabled(this$static){
  var scroller, ua;
  if (this$static.touchScroller) {
    return false;
  }
  this$static.touchScroller = (scroller = (!isSupported && (isSupported = ($clinit_Boolean() , !impl_1 && (impl_1 = new TouchEvent$TouchSupportDetector_0) , impl_1.isSupported && !(ua = navigator.userAgent.toLowerCase() , /android ([3-9]+)\.([0-9]+)/.exec(ua) != null)?TRUE_0:FALSE_0)) , isSupported.value_0?new TouchScroller_0:null) , !!scroller && $setTargetWidget(scroller, this$static) , scroller);
  return !this$static.touchScroller;
}

function $setVerticalScrollPosition(this$static, position){
  $setScrollTop_0(this$static.scrollableElem, position);
}

function ScrollPanel_0(){
  SimplePanel_0.call(this);
  this.scrollableElem = this.element;
  this.containerElem = $doc.createElement('div');
  $appendChild_0(this.scrollableElem, this.containerElem);
  this.scrollableElem.style['overflow'] = ($clinit_Style$Overflow() , 'auto');
  this.scrollableElem.style['position'] = ($clinit_Style$Position() , 'relative');
  this.containerElem.style['position'] = 'relative';
  this.scrollableElem.style['zoom'] = '1';
  this.containerElem.style['zoom'] = '1';
  $setTouchScrollingDisabled(this);
  !impl_3 && (impl_3 = new ScrollImpl_0);
}

function ScrollPanel_1(child){
  ScrollPanel_0.call(this);
  $setWidget_0(this, child);
}

defineSeed(604, 548, makeCastMap([Q$HasScrollHandlers, Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$AcceptsOneWidget, Q$HasHorizontalScrolling, Q$HasOneWidget, Q$HasScrolling, Q$HasVerticalScrolling, Q$HasVisibility, Q$HasWidgets, Q$HasWidgets$ForIsWidget, Q$IsWidget, Q$Panel, Q$ProvidesResize, Q$RequiresResize, Q$ScrollPanel, Q$SimplePanel, Q$SourcesScrollEvents, Q$UIObject, Q$Widget, Q$Iterable]), ScrollPanel_0, ScrollPanel_1);
_.getContainerElement = function getContainerElement_2(){
  return this.containerElem;
}
;
_.onAttach = function onAttach_6(){
  $onAttach(this);
  this.scrollableElem.__listener = this;
}
;
_.onDetach = function onDetach_7(){
  this.scrollableElem.__listener = null;
  $onDetach(this);
}
;
_.setHeight_1 = function setHeight_7(height){
  setStyleAttribute_0(this.element, 'height', height);
}
;
_.setSize = function setSize_2(width, height){
  $setSize_4(this, width, height);
}
;
_.setWidth_1 = function setWidth_7(width){
  setStyleAttribute_0(this.element, 'width', width);
}
;
_.containerElem = null;
_.scrollableElem = null;
_.touchScroller = null;
function $next_1(this$static){
  if (!this$static.hasElement || !this$static.this$0.widget) {
    throw new NoSuchElementException_0;
  }
  this$static.hasElement = false;
  return this$static.returned = this$static.this$0.widget;
}

function SimplePanel$1_0(this$0){
  this.this$0 = this$0;
  this.hasElement = !!this.this$0.widget;
}

defineSeed(605, 1, {}, SimplePanel$1_0);
_.hasNext = function hasNext_2(){
  return this.hasElement;
}
;
_.next_0 = function next_3(){
  return $next_1(this);
}
;
_.remove_3 = function remove_26(){
  !!this.returned && this.this$0.remove_5(this.returned);
}
;
_.returned = null;
_.this$0 = null;
function TabBar$ClickDelegatePanel_0(this$0, child){
  var wrapperWidget;
  this.this$0 = this$0;
  this.focusablePanel = new SimplePanel_1($createFocusable());
  this.focusablePanel.setWidget(child);
  wrapperWidget = this$0.this$0.createTabTextWrapper();
  if (!wrapperWidget) {
    $initWidget(this, this.focusablePanel);
  }
   else {
    $setWidget_0(wrapperWidget, this.focusablePanel);
    $initWidget(this, wrapperWidget);
  }
  this.eventsToSink == -1?$sinkEvents_1(this.element, 129 | (this.element.__eventBits || 0)):(this.eventsToSink |= 129);
}

defineSeed(606, 540, makeCastMap([Q$HasAllKeyHandlers, Q$HasClickHandlers, Q$HasKeyDownHandlers, Q$HasKeyPressHandlers, Q$HasKeyUpHandlers, Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$HasWordWrap, Q$IsWidget, Q$UIObject, Q$Widget]), TabBar$ClickDelegatePanel_0);
_.onBrowserEvent = function onBrowserEvent_9(event_0){
  switch ($eventGetTypeInt(event_0.type)) {
    case 1:
      $selectTabByTabWidget(this.this$0, this);
      break;
    case 128:
      ((event_0.keyCode || 0) & 65535) == 13 && $selectTabByTabWidget(this.this$0, this);
      (event_0.keyCode || 0) & 65535;
      (event_0.shiftKey?1:0) | (event_0.metaKey?8:0) | (event_0.ctrlKey?2:0) | (event_0.altKey?4:0);
  }
  $onBrowserEvent(this, event_0);
  this.widget.onBrowserEvent(event_0);
}
;
_.focusablePanel = null;
_.this$0 = null;
function $insertProtected(this$static, w, tabText, asHTML, beforeIndex){
  var idx;
  idx = $indexOf_2(this$static.children_0, w);
  if (idx != -1) {
    $remove_16(this$static, w);
    idx < beforeIndex && --beforeIndex;
  }
  $insertTab(this$static.tabBar, tabText, asHTML, beforeIndex);
  $insert_5(this$static, w, beforeIndex);
}

function $remove_16(this$static, w){
  var idx;
  idx = $indexOf_2(this$static.children_0, w);
  if (idx != -1) {
    $removeTab(this$static.tabBar, idx);
    return $remove_9(this$static, w);
  }
  return false;
}

function TabPanel$TabbedDeckPanel_0(tabBar){
  ComplexPanel_0.call(this);
  $setElement(this, $doc.createElement('div'));
  this.tabBar = tabBar;
}

defineSeed(607, 544, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$ComplexPanel, Q$HasVisibility, Q$HasWidgets, Q$HasWidgets$ForIsWidget, Q$IndexedPanel, Q$IndexedPanel$ForIsWidget, Q$InsertPanel, Q$InsertPanel$ForIsWidget, Q$IsWidget, Q$Panel, Q$UIObject, Q$Widget, Q$Iterable]), TabPanel$TabbedDeckPanel_0);
_.insert_0 = function insert_7(w, beforeIndex){
  throw new UnsupportedOperationException_1('Use TabPanel.insert() to alter the DeckPanel');
}
;
_.remove_5 = function remove_27(w){
  return $remove_16(this, w);
}
;
_.tabBar = null;
function TabPanel$UnmodifiableTabBar_0(this$0){
  var first, rest;
  this.this$0 = this$0;
  this.panel = new HorizontalPanel_2;
  $initWidget(this, this.panel);
  this.eventsToSink == -1?$sinkEvents_1(this.element, 1 | (this.element.__eventBits || 0)):(this.eventsToSink |= 1);
  this.element['className'] = 'gwt-TabBar';
  $clinit_Roles();
  $set_8(TABLIST, this.panel.element);
  $setVerticalAlignment(this.panel, ($clinit_HasVerticalAlignment() , ALIGN_BOTTOM));
  first = new HTML_2('&nbsp;');
  rest = new HTML_2('&nbsp;');
  first.element['className'] = 'gwt-TabBarFirst';
  rest.element['className'] = 'gwt-TabBarRest';
  first.element.style['height'] = '100%';
  rest.element.style['height'] = '100%';
  $add_15(this.panel, first);
  $add_15(this.panel, rest);
  first.element.style['height'] = '100%';
  $setCellHeight(this.panel, first);
  $setCellWidth(this.panel, rest);
  $getParentElement(first.element)['className'] = 'gwt-TabBarFirst-wrapper';
  $getParentElement(rest.element)['className'] = 'gwt-TabBarRest-wrapper';
}

defineSeed(608, 552, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$ClickListener, Q$HasVisibility, Q$IsWidget, Q$KeyboardListener, Q$SourcesTabEvents, Q$UIObject, Q$Widget]), TabPanel$UnmodifiableTabBar_0);
_.this$0 = null;
function $onClick_2(this$static){
  var evt;
  $toggleDown(this$static);
  this$static.allowClick = true;
  evt = $createMouseEvent($doc, 'click', true, true, 1, 0, 0, 0, 0, false, false, false, false, 1, null);
  $dispatchEvent(this$static.element, evt);
  this$static.allowClick = false;
  fire_5(this$static, ($clinit_Boolean() , (1 & (!this$static.curFace && $setCurrentFace_0(this$static, this$static.up) , this$static.curFace.val$faceID)) > 0?TRUE_0:FALSE_0));
}

function ToggleButton_0(upText){
  ButtonBase_0.call(this, $createFocusable());
  this.eventsToSink == -1?sinkEvents_1(this.element, 7165 | (this.element.__eventBits || 0)):(this.eventsToSink |= 7165);
  $setUpFace(this, new CustomButton$2_0(this, null, 'up', 0));
  this.element['className'] = 'gwt-CustomButton';
  $clinit_Roles();
  $set_8(BUTTON, this.element);
  $setText_5(this.up, upText);
  this.element['className'] = 'gwt-ToggleButton';
}

defineSeed(609, 541, makeCastMap([Q$IsEditor, Q$HasAllDragAndDropHandlers, Q$HasAllFocusHandlers, Q$HasAllGestureHandlers, Q$HasAllKeyHandlers, Q$HasAllMouseHandlers, Q$HasAllTouchHandlers, Q$HasBlurHandlers, Q$HasClickHandlers, Q$HasDoubleClickHandlers, Q$HasDragEndHandlers, Q$HasDragEnterHandlers, Q$HasDragHandlers, Q$HasDragLeaveHandlers, Q$HasDragOverHandlers, Q$HasDragStartHandlers, Q$HasDropHandlers, Q$HasFocusHandlers, Q$HasGestureChangeHandlers, Q$HasGestureEndHandlers, Q$HasGestureStartHandlers, Q$HasKeyDownHandlers, Q$HasKeyPressHandlers, Q$HasKeyUpHandlers, Q$HasMouseDownHandlers, Q$HasMouseMoveHandlers, Q$HasMouseOutHandlers, Q$HasMouseOverHandlers, Q$HasMouseUpHandlers, Q$HasMouseWheelHandlers, Q$HasTouchCancelHandlers, Q$HasTouchEndHandlers, Q$HasTouchMoveHandlers, Q$HasTouchStartHandlers, Q$HasAttachHandlers, Q$HasValueChangeHandlers, Q$HasHandlers, Q$HasSafeHtml, Q$EventListener, Q$TakesValue, Q$ButtonBase, Q$CustomButton, Q$FocusWidget, Q$Focusable, Q$HasEnabled, Q$HasFocus, Q$HasHTML, Q$HasText, Q$HasValue, Q$HasVisibility, Q$IsWidget, Q$SourcesClickEvents, Q$SourcesFocusEvents, Q$SourcesKeyboardEvents, Q$SourcesMouseEvents, Q$ToggleButton, Q$UIObject, Q$Widget]), ToggleButton_0);
function $clinit_ValueBoxBase$TextAlignment(){
  $clinit_ValueBoxBase$TextAlignment = nullMethod;
  CENTER_1 = new ValueBoxBase$TextAlignment$1_0;
  JUSTIFY_0 = new ValueBoxBase$TextAlignment$2_0;
  LEFT_3 = new ValueBoxBase$TextAlignment$3_0;
  RIGHT_3 = new ValueBoxBase$TextAlignment$4_0;
  $VALUES_16 = initValues(_3Lcom_google_gwt_user_client_ui_ValueBoxBase$TextAlignment_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$ValueBoxBase$TextAlignment, [CENTER_1, JUSTIFY_0, LEFT_3, RIGHT_3]);
}

function values_17(){
  $clinit_ValueBoxBase$TextAlignment();
  return $VALUES_16;
}

defineSeed(610, 34, makeCastMap([Q$ValueBoxBase$TextAlignment, Q$Serializable, Q$Comparable, Q$Enum]));
var $VALUES_16, CENTER_1, JUSTIFY_0, LEFT_3, RIGHT_3;
function ValueBoxBase$TextAlignment$1_0(){
  Enum_0.call(this, 'CENTER', 0);
}

defineSeed(611, 610, makeCastMap([Q$ValueBoxBase$TextAlignment, Q$Serializable, Q$Comparable, Q$Enum]), ValueBoxBase$TextAlignment$1_0);
function ValueBoxBase$TextAlignment$2_0(){
  Enum_0.call(this, 'JUSTIFY', 1);
}

defineSeed(612, 610, makeCastMap([Q$ValueBoxBase$TextAlignment, Q$Serializable, Q$Comparable, Q$Enum]), ValueBoxBase$TextAlignment$2_0);
function ValueBoxBase$TextAlignment$3_0(){
  Enum_0.call(this, 'LEFT', 2);
}

defineSeed(613, 610, makeCastMap([Q$ValueBoxBase$TextAlignment, Q$Serializable, Q$Comparable, Q$Enum]), ValueBoxBase$TextAlignment$3_0);
function ValueBoxBase$TextAlignment$4_0(){
  Enum_0.call(this, 'RIGHT', 3);
}

defineSeed(614, 610, makeCastMap([Q$ValueBoxBase$TextAlignment, Q$Serializable, Q$Comparable, Q$Enum]), ValueBoxBase$TextAlignment$4_0);
function $add_18(this$static, w){
  var td, tr;
  tr = $doc.createElement('tr');
  td = $createAlignedTd_0(this$static);
  $appendChild_0(tr, ($clinit_PotentialElement() , $resolve(td)));
  $appendChild_0(this$static.body_0, $resolve(tr));
  $add_10(this$static, w, td);
}

function $createAlignedTd_0(this$static){
  var td;
  td = $doc.createElement('td');
  td['align'] = this$static.horzAlign.textAlignString;
  setStyleAttribute_0(td, 'verticalAlign', this$static.vertAlign.verticalAlignString);
  return td;
}

function $setHorizontalAlignment_1(this$static, align){
  this$static.horzAlign = align;
}

function VerticalPanel_2(){
  CellPanel_0.call(this);
  this.horzAlign = ($clinit_HasHorizontalAlignment() , ALIGN_DEFAULT);
  this.vertAlign = ($clinit_HasVerticalAlignment() , ALIGN_TOP);
  this.table['cellSpacing'] = '0';
  this.table['cellPadding'] = '0';
}

defineSeed(615, 539, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$CellPanel, Q$ComplexPanel, Q$HasAlignment, Q$HasHorizontalAlignment, Q$HasVerticalAlignment, Q$HasVisibility, Q$HasWidgets, Q$HasWidgets$ForIsWidget, Q$IndexedPanel, Q$IndexedPanel$ForIsWidget, Q$InsertPanel, Q$InsertPanel$ForIsWidget, Q$IsWidget, Q$Panel, Q$UIObject, Q$Widget, Q$Iterable]), VerticalPanel_2);
_.insert_0 = function insert_8(w, beforeIndex){
  var td, tr;
  $checkIndexBoundsForInsertion(this, beforeIndex);
  tr = $doc.createElement('tr');
  td = $createAlignedTd_0(this);
  $appendChild_0(tr, ($clinit_PotentialElement() , $resolve(td)));
  insertChild(this.body_0, tr, beforeIndex);
  $insert_4(this, w, td, beforeIndex, false);
}
;
_.remove_5 = function remove_28(w){
  var removed, td;
  td = $getParentElement(w.getElement());
  removed = $remove_7(this, w);
  removed && $removeChild(this.body_0, $getParentElement(td));
  return removed;
}
;
function $add_19(this$static, w){
  $insert_9(this$static, w, this$static.size_0);
}

function $get_7(this$static, index){
  if (index < 0 || index >= this$static.size_0) {
    throw new IndexOutOfBoundsException_0;
  }
  return this$static.array[index];
}

function $indexOf_2(this$static, w){
  var i;
  for (i = 0; i < this$static.size_0; ++i) {
    if (this$static.array[i] == w) {
      return i;
    }
  }
  return -1;
}

function $insert_9(this$static, w, beforeIndex){
  var i, newArray;
  if (beforeIndex < 0 || beforeIndex > this$static.size_0) {
    throw new IndexOutOfBoundsException_0;
  }
  if (this$static.size_0 == this$static.array.length) {
    newArray = initDim(_3Lcom_google_gwt_user_client_ui_Widget_2_classLit, makeCastMap([Q$HasAttachHandlers_$1, Q$HasHandlers_$1, Q$EventListener_$1, Q$HasVisibility_$1, Q$IsWidget_$1, Q$UIObject_$1, Q$Widget_$1, Q$Serializable, Q$Object_$1]), Q$Widget, this$static.array.length * 2, 0);
    for (i = 0; i < this$static.array.length; ++i) {
      setCheck(newArray, i, this$static.array[i]);
    }
    this$static.array = newArray;
  }
  ++this$static.size_0;
  for (i = this$static.size_0 - 1; i > beforeIndex; --i) {
    setCheck(this$static.array, i, this$static.array[i - 1]);
  }
  setCheck(this$static.array, beforeIndex, w);
}

function $remove_17(this$static, index){
  var i;
  if (index < 0 || index >= this$static.size_0) {
    throw new IndexOutOfBoundsException_0;
  }
  --this$static.size_0;
  for (i = index; i < this$static.size_0; ++i) {
    setCheck(this$static.array, i, this$static.array[i + 1]);
  }
  setCheck(this$static.array, this$static.size_0, null);
}

function $remove_18(this$static, w){
  var index;
  index = $indexOf_2(this$static, w);
  if (index == -1) {
    throw new NoSuchElementException_0;
  }
  $remove_17(this$static, index);
}

function WidgetCollection_0(parent_0){
  this.parent_0 = parent_0;
  this.array = initDim(_3Lcom_google_gwt_user_client_ui_Widget_2_classLit, makeCastMap([Q$HasAttachHandlers_$1, Q$HasHandlers_$1, Q$EventListener_$1, Q$HasVisibility_$1, Q$IsWidget_$1, Q$UIObject_$1, Q$Widget_$1, Q$Serializable, Q$Object_$1]), Q$Widget, 4, 0);
}

defineSeed(616, 1, makeCastMap([Q$Iterable]), WidgetCollection_0);
_.iterator_0 = function iterator_10(){
  return new WidgetCollection$WidgetIterator_0(this);
}
;
_.array = null;
_.parent_0 = null;
_.size_0 = 0;
function $next_2(this$static){
  if (this$static.index_0 >= this$static.this$0.size_0) {
    throw new NoSuchElementException_0;
  }
  return this$static.this$0.array[++this$static.index_0];
}

function $remove_19(this$static){
  if (this$static.index_0 < 0 || this$static.index_0 >= this$static.this$0.size_0) {
    throw new IllegalStateException_0;
  }
  this$static.this$0.parent_0.remove_5(this$static.this$0.array[this$static.index_0--]);
}

function WidgetCollection$WidgetIterator_0(this$0){
  this.this$0 = this$0;
}

defineSeed(617, 1, {}, WidgetCollection$WidgetIterator_0);
_.hasNext = function hasNext_3(){
  return this.index_0 < this.this$0.size_0 - 1;
}
;
_.next_0 = function next_4(){
  return $next_2(this);
}
;
_.remove_3 = function remove_29(){
  $remove_19(this);
}
;
_.index_0 = -1;
_.this$0 = null;
function $clinit_ClippedImageImpl(){
  $clinit_ClippedImageImpl = nullMethod;
  clearImage = ($clinit_UriUtils() , new SafeUriString_0(getModuleBaseURL() + 'clear.cache.gif'));
}

function $createStructure(url, left, top_0, width, height){
  var tmp, builder;
  tmp = $doc.createElement('span');
  $setInnerHTML(tmp, (builder = new SafeStylesBuilder_0 , $append_2($append_2($append_2(builder, new SafeStylesString_0('width:' + width + ($clinit_Style$Unit() , 'px') + ';')), new SafeStylesString_0('height:' + height + 'px;')), new SafeStylesString_0('background:url(' + url.uri + ') no-repeat ' + -left + 'px ' + -top_0 + 'px;')) , !template && (template = new ClippedImageImpl_TemplateImpl_0) , $image(clearImage, new SafeStylesString_0((new SafeStylesString_0(builder.sb.impl.string)).css))).html_0);
  return $getFirstChildElement(tmp);
}

var clearImage, template = null;
function $image(arg0, arg1){
  var sb;
  sb = new StringBuilder_0;
  sb.impl.string += "<img onload='this.__gwtLastUnhandledEvent=\"load\";' src='";
  $append_6(sb, htmlEscape(arg0.uri));
  sb.impl.string += "' style='";
  $append_6(sb, htmlEscape(arg1.css));
  sb.impl.string += "' border='0'>";
  return new OnlyToBeUsedInGeneratedCodeStringBlessedAsSafeHtml_0(sb.impl.string);
}

function ClippedImageImpl_TemplateImpl_0(){
}

defineSeed(619, 1, {}, ClippedImageImpl_TemplateImpl_0);
function $clinit_ClippedImagePrototype(){
  $clinit_ClippedImagePrototype = nullMethod;
  $clinit_ClippedImageImpl();
}

function $createImage(this$static){
  return new Image_2(this$static.url, this$static.left_0, this$static.top_0, this$static.width_0, this$static.height_0);
}

function ClippedImagePrototype_0(url, left, width, height){
  this.url = url;
  this.left_0 = left;
  this.top_0 = 0;
  this.width_0 = width;
  this.height_0 = height;
}

function ClippedImagePrototype_1(url, left, width, height){
  $clinit_ClippedImagePrototype();
  ClippedImagePrototype_0.call(this, ($clinit_UriUtils() , new SafeUriString_0(url)), left, width, height);
}

defineSeed(620, 532, {}, ClippedImagePrototype_1);
_.height_0 = 0;
_.left_0 = 0;
_.top_0 = 0;
_.url = null;
_.width_0 = 0;
function $createFocusable(){
  var e;
  e = $doc.createElement('div');
  e.tabIndex = 0;
  return e;
}

function $setClip(popup, rect){
  popup.style['clip'] = rect;
}

function $setSelectionRange(elem, pos, length_0){
  try {
    elem.setSelectionRange(pos, pos + length_0);
  }
   catch (e) {
  }
}

function $clinit_CalendarUtil(){
  $clinit_CalendarUtil = nullMethod;
  var dateTimeFormatInfo;
  dateTimeFormatInfo = $getDateTimeFormatInfo(($clinit_LocaleInfo() , $clinit_LocaleInfo() , instance_5));
  dateTimeFormatInfo.firstDayOfTheWeek();
}

function copyDate(date){
  var newDate;
  if (!date) {
    return null;
  }
  newDate = new Date_1;
  $setTime_0(newDate, fromDouble(date.jsdate.getTime()));
  return newDate;
}

function getDaysBetween(start, finish){
  $clinit_CalendarUtil();
  var aTime, adjust, bTime;
  start = copyDate(start);
  resetTime(start);
  finish = copyDate(finish);
  resetTime(finish);
  aTime = fromDouble(start.jsdate.getTime());
  bTime = fromDouble(finish.jsdate.getTime());
  adjust = P36ee80_longLit;
  adjust = gt(bTime, aTime)?adjust:neg(adjust);
  return toInt(div_0(add_2(sub_0(bTime, aTime), adjust), P5265c00_longLit));
}

function resetTime(date){
  var msec;
  msec = fromDouble(date.jsdate.getTime());
  msec = mul(div_0(msec, P3e8_longLit), P3e8_longLit);
  $setTime(date.jsdate, toDouble(msec));
  date.setHours_0(12);
  date.setMinutes_0(0);
  date.setSeconds_0(0);
}

function $getRuntimeValue(){
  var ua = navigator.userAgent.toLowerCase();
  var makeVersion = function(result){
    return parseInt(result[1]) * 1000 + parseInt(result[2]);
  }
  ;
  if (function(){
    return ua.indexOf('opera') != -1;
  }
  ())
    return 'opera';
  if (function(){
    return ua.indexOf('webkit') != -1;
  }
  ())
    return 'safari';
  if (function(){
    return ua.indexOf('msie') != -1 && $doc.documentMode >= 9;
  }
  ())
    return 'ie9';
  if (function(){
    return ua.indexOf('msie') != -1 && $doc.documentMode >= 8;
  }
  ())
    return 'ie8';
  if (function(){
    var result = /msie ([0-9]+)\.([0-9]+)/.exec(ua);
    if (result && result.length == 3)
      return makeVersion(result) >= 6000;
  }
  ())
    return 'ie6';
  if (function(){
    return ua.indexOf('gecko') != -1;
  }
  ())
    return 'gecko1_8';
  return 'unknown';
}

function $removeHandler(this$static){
  $doRemove(this$static.this$0, this$static.val$type, this$static.val$source, this$static.val$handler);
}

function SimpleEventBus$1_0(this$0, val$type, val$handler){
  this.this$0 = this$0;
  this.val$type = val$type;
  this.val$source = null;
  this.val$handler = val$handler;
}

defineSeed(627, 1, {}, SimpleEventBus$1_0);
_.this$0 = null;
_.val$handler = null;
_.val$source = null;
_.val$type = null;
function SimpleEventBus$2_0(this$0, val$type, val$handler){
  this.this$0 = this$0;
  this.val$type = val$type;
  this.val$source = null;
  this.val$handler = val$handler;
}

defineSeed(628, 1, makeCastMap([Q$SimpleEventBus$Command]), SimpleEventBus$2_0);
_.execute = function execute_20(){
  $doAddNow(this.this$0, this.val$type, this.val$source, this.val$handler);
}
;
_.this$0 = null;
_.val$handler = null;
_.val$source = null;
_.val$type = null;
function SimpleEventBus$3_0(this$0, val$type, val$source, val$handler){
  this.this$0 = this$0;
  this.val$type = val$type;
  this.val$source = val$source;
  this.val$handler = val$handler;
}

defineSeed(629, 1, makeCastMap([Q$SimpleEventBus$Command]), SimpleEventBus$3_0);
_.execute = function execute_21(){
  $doRemoveNow(this.this$0, this.val$type, this.val$source, this.val$handler);
}
;
_.this$0 = null;
_.val$handler = null;
_.val$source = null;
_.val$type = null;
function $clinit_Main(){
  $clinit_Main = nullMethod;
  local_0 = getLocalStorageIfSupported();
  rCG = new RoverCalibrationGUI_0;
  rCGVPanel = new VerticalPanel_0;
}

--></script>
<script><!--
function $onModuleLoad_0(this$static){
  var configurationLabel, decoratedStackPanel, decoratedTabPanel, grid, grid1, habitatVPanel, histoStack, histogramScrollPanel, htmlchat, htmlhistogra, htmlmapArea, mapVertical, menu2, menuBar, mntmChangeName, mntmChangePassword, mntmChangePicture, mntmLogOut, mntmUser, modulesVertical, rootPanel, scrollPanel, weatherVpanel, xyCoord;
  initMList();
  $clinit_Module();
  MODULEIMAGE[8] = 'images/Airlock.jpg';
  MODULEFILL[8] = 'images/Airfill.jpg';
  MODULEIMAGE[1] = 'images/Control.jpg';
  MODULEFILL[1] = 'images/Controlfill.jpg';
  MODULEIMAGE[2] = 'images/Power.jpg';
  MODULEFILL[2] = 'images/Powerfill.jpg';
  MODULEIMAGE[3] = 'images/Food & Water storage.jpg';
  MODULEFILL[3] = 'images/FWfill.jpg';
  MODULEIMAGE[4] = 'images/Dormitory.jpg';
  MODULEFILL[4] = 'images/Dormfill.jpg';
  MODULEIMAGE[5] = 'images/Canteen.jpg';
  MODULEFILL[5] = 'images/Canteenfill.jpg';
  MODULEIMAGE[6] = 'images/Sanitation.jpg';
  MODULEFILL[6] = 'images/Sanitationfill.jpg';
  MODULEIMAGE[7] = 'images/Gym & Relaxation.jpg';
  MODULEFILL[7] = 'images/GymRelaxfill.jpg';
  MODULEIMAGE[0] = 'images/Plain.jpg';
  MODULEFILL[0] = 'images/Plainfill.jpg';
  MODULEIMAGE[9] = 'images/Medical.jpg';
  MODULEFILL[9] = 'images/Medicalfill.jpg';
  mntmUser = new MenuItem_0('User');
  $add_7(this$static.menu, mntmUser);
  menu2 = new Menu_0;
  mntmChangePicture = new MenuItem_0('Change picture');
  $insert_3(menu2, mntmChangePicture, menu2.items.size_0);
  mntmChangePassword = new MenuItem_0('Change password');
  $insert_3(menu2, mntmChangePassword, menu2.items.size_0);
  mntmChangeName = new MenuItem_0('Change name');
  $insert_3(menu2, mntmChangeName, menu2.items.size_0);
  mntmUser.subMenu = menu2;
  menu2.parentItem = mntmUser;
  rootPanel = ($clinit_RootPanel() , get_3());
  mntmLogOut = new MenuItem_0('Logout');
  $add_7(this$static.menu, mntmLogOut);
  login = new LoginScreen_0(this$static.mainMCHS);
  initMap();
  lgMD = new LoggingModuleGUI_0;
  $addSelectionListener(mntmLogOut, new Main$1_0(this$static, rootPanel));
  $setWidth_0(rootPanel, '1041px');
  $setHeight_0(rootPanel, '641px');
  $setSize_1(this$static.mainMCHS, '1041px', '641px');
  menuBar = new MenuBar_0;
  $add_7(menuBar, this$static.mnbrtmMchs);
  $add_11(this$static.mainMCHS, menuBar);
  $setSize_3(menuBar, '1064px', '20px');
  $setWidgetPosition(this$static.mainMCHS, menuBar, 0, 0);
  histogramScrollPanel = new ScrollPanel_1(($clinit_LoggingModuleGUI() , histogram));
  histoStack = new DecoratedStackPanel_0;
  $insert_6(histoStack, histogramScrollPanel, histoStack.children_0.size_0);
  $add_12(this$static.mainMCHS, histoStack, 707, 49);
  histogramScrollPanel.element.style['width'] = '324px';
  histogramScrollPanel.element.style['height'] = '210px';
  histoStack.element.style['width'] = '324px';
  histoStack.element.style['height'] = '200px';
  htmlhistogra = new HTML_2('<center><b>Histogram<\/b><\/center>');
  $add_12(this$static.mainMCHS, htmlhistogra, 701, 27);
  htmlhistogra.element.style['width'] = '330px';
  htmlhistogra.element.style['height'] = '16px';
  htmlchat = new HTML_2('<center><b>Weather<\/b><\/center>');
  $add_12(this$static.mainMCHS, htmlchat, 707, 291);
  htmlchat.element.style['width'] = '324px';
  htmlchat.element.style['height'] = '16px';
  decoratedTabPanel = new DecoratedTabPanel_0;
  $add_12(this$static.mainMCHS, decoratedTabPanel, 0, 26);
  decoratedTabPanel.element.style['width'] = '675px';
  decoratedTabPanel.element.style['height'] = '569px';
  mapVertical = new VerticalPanel_0;
  $setVerticalAlign_0(mapVertical, ($clinit_Style$VerticalAlignment() , BOTTOM_0));
  $setHorizontalAlign_0(mapVertical, ($clinit_Style$HorizontalAlignment() , CENTER));
  $setSize_3(mapVertical, '675px', '569px');
  htmlmapArea = new HTML_2('<center>Map Area<\/center>');
  $insert_1(mapVertical, htmlmapArea, mapVertical.items.size_0);
  scrollPanel = new ScrollPanel_0;
  xyCoord = new HTML_2('<center>(x , y)<\/center>');
  scrollPanel.element.style['width'] = '675px';
  scrollPanel.element.style['height'] = '533px';
  grid = ($clinit_MapGUI() , $clinit_MapGUI() , MAPGRID);
  $setWidget_0(scrollPanel, grid);
  grid.element.style['width'] = '100%';
  grid.element.style['height'] = '100%';
  $insert_1(mapVertical, scrollPanel, mapVertical.items.size_0);
  $insert_1(mapVertical, xyCoord, mapVertical.items.size_0);
  $insert_7(decoratedTabPanel, mapVertical, 'Map', false, decoratedTabPanel.deck.children_0.size_0);
  $add_8(rCGVPanel, rCG.verticalPanel);
  $setSize_3(rCGVPanel, '675px', '569px');
  $add_14(decoratedTabPanel, rCGVPanel);
  modulesVertical = new VerticalPanel_0;
  $setHorizontalAlign_0(modulesVertical, CENTER);
  grid1 = lgMD.loggingModuleMain;
  $insert_1(modulesVertical, grid1, modulesVertical.items.size_0);
  $setSize_3(grid1, '633px', '262px');
  habitatVPanel = new VerticalPanel_0;
  $setSize_3(habitatVPanel, '675px', '569px');
  $add_8(habitatVPanel, this$static.hCG.verticalPanel);
  $insert_7(decoratedTabPanel, habitatVPanel, '<center>Habitat Configuration<\/center>', true, decoratedTabPanel.deck.children_0.size_0);
  $insert_7(decoratedTabPanel, modulesVertical, 'Logging Modules', false, decoratedTabPanel.deck.children_0.size_0);
  $setSize_3(modulesVertical, '675px', '569px');
  $selectTab(decoratedTabPanel.tabBar, 3);
  decoratedStackPanel = new DecoratedStackPanel_0;
  $add_12(this$static.mainMCHS, decoratedStackPanel, 707, 313);
  decoratedStackPanel.element.style['width'] = '334px';
  decoratedStackPanel.element.style['height'] = '324px';
  weatherVpanel = new VerticalPanel_0;
  $setSize_3(weatherVpanel, '320px', '290px');
  $add_8(weatherVpanel, this$static.weather.outp);
  $setHorizontalAlign_0(weatherVpanel, CENTER);
  $insert_6(decoratedStackPanel, weatherVpanel, decoratedStackPanel.children_0.size_0);
  $setStackText(decoratedStackPanel, decoratedStackPanel.children_0.size_0 - 1);
  configurationLabel = configurationLabel_0;
  $add_12(this$static.mainMCHS, configurationLabel, 707, 0);
  configurationLabel.element.style['width'] = '324px';
  configurationLabel.element.style['height'] = '20px';
}

function Main_0(){
  $clinit_Main();
  this.mainMCHS = new AbsolutePanel_0;
  this.menu = new Menu_0;
  this.mnbrtmMchs = new MenuBarItem_0(this.menu);
  this.hCG = new HabitatConfigurationGUI_0;
  this.weather = new Weather_0;
}

defineSeed(630, 1, {}, Main_0);
var lgMD = null, local_0, login = null, rCG, rCGVPanel;
function $componentSelected_1(this$static){
  alert_0('Good bye!');
  $remove_8(this$static.val$rootPanel, this$static.this$0.mainMCHS);
  $add_11(this$static.val$rootPanel, ($clinit_Main() , login).login);
}

function Main$1_0(this$0, val$rootPanel){
  this.this$0 = this$0;
  this.val$rootPanel = val$rootPanel;
}

defineSeed(631, 100, makeCastMap([Q$Listener]), Main$1_0);
_.componentSelected = function componentSelected_1(ce){
  $componentSelected_1(this, dynamicCast(ce, Q$MenuEvent));
}
;
_.this$0 = null;
_.val$rootPanel = null;
function $clinit_ConfigurationGUI(){
  $clinit_ConfigurationGUI = nullMethod;
  tBtnHab = initDim(_3Lcom_google_gwt_user_client_ui_Button_2_classLit, makeCastMap([Q$HasAllDragAndDropHandlers_$1, Q$HasAllGestureHandlers_$1, Q$HasAllMouseHandlers_$1, Q$HasAllTouchHandlers_$1, Q$HasClickHandlers_$1, Q$HasDoubleClickHandlers_$1, Q$HasDragEndHandlers_$1, Q$HasDragEnterHandlers_$1, Q$HasDragHandlers_$1, Q$HasDragLeaveHandlers_$1, Q$HasDragOverHandlers_$1, Q$HasDragStartHandlers_$1, Q$HasDropHandlers_$1, Q$HasGestureChangeHandlers_$1, Q$HasGestureEndHandlers_$1, Q$HasGestureStartHandlers_$1, Q$HasMouseDownHandlers_$1, Q$HasMouseMoveHandlers_$1, Q$HasMouseOutHandlers_$1, Q$HasMouseOverHandlers_$1, Q$HasMouseUpHandlers_$1, Q$HasMouseWheelHandlers_$1, Q$HasTouchCancelHandlers_$1, Q$HasTouchEndHandlers_$1, Q$HasTouchMoveHandlers_$1, Q$HasTouchStartHandlers_$1, Q$HasAttachHandlers_$1, Q$HasHandlers_$1, Q$EventListener_$1, Q$HasVisibility_$1, Q$IsWidget_$1, Q$SourcesClickEvents_$1, Q$SourcesMouseEvents_$1, Q$UIObject_$1, Q$Widget_$1, Q$Serializable, Q$Object_$1]), Q$Button_0, 2, 0);
  tBtnHabMax = initDim(_3Lcom_google_gwt_user_client_ui_Button_2_classLit, makeCastMap([Q$HasAllDragAndDropHandlers_$1, Q$HasAllGestureHandlers_$1, Q$HasAllMouseHandlers_$1, Q$HasAllTouchHandlers_$1, Q$HasClickHandlers_$1, Q$HasDoubleClickHandlers_$1, Q$HasDragEndHandlers_$1, Q$HasDragEnterHandlers_$1, Q$HasDragHandlers_$1, Q$HasDragLeaveHandlers_$1, Q$HasDragOverHandlers_$1, Q$HasDragStartHandlers_$1, Q$HasDropHandlers_$1, Q$HasGestureChangeHandlers_$1, Q$HasGestureEndHandlers_$1, Q$HasGestureStartHandlers_$1, Q$HasMouseDownHandlers_$1, Q$HasMouseMoveHandlers_$1, Q$HasMouseOutHandlers_$1, Q$HasMouseOverHandlers_$1, Q$HasMouseUpHandlers_$1, Q$HasMouseWheelHandlers_$1, Q$HasTouchCancelHandlers_$1, Q$HasTouchEndHandlers_$1, Q$HasTouchMoveHandlers_$1, Q$HasTouchStartHandlers_$1, Q$HasAttachHandlers_$1, Q$HasHandlers_$1, Q$EventListener_$1, Q$HasVisibility_$1, Q$IsWidget_$1, Q$SourcesClickEvents_$1, Q$SourcesMouseEvents_$1, Q$UIObject_$1, Q$Widget_$1, Q$Serializable, Q$Object_$1]), Q$Button_0, 2, 0);
}

function $initConfig(this$static){
  var hButtonPanel, i;
  for (i = 0; i < 2; ++i) {
    this$static.hConfiguration[i] = new HabitatConfiguration_0;
    this$static.sHab[i] = new ScrollPanel_0;
    this$static.gHab[i] = new Grid_0(25, 25);
    this$static.gHab[i].tableElem['border'] = '2';
    $setStyleName_0(this$static.gHab[i], 'bgMap');
    this$static.vHab[i] = new VerticalPanel_0;
    this$static.dragController[i] = new PickupDragController_0(($clinit_RootPanel() , get_3()));
    setCheck(this$static.confLabel, i, new HTML_0);
    $setHorizontalAlign_0(this$static.vHab[i], ($clinit_Style$HorizontalAlignment() , CENTER));
    tBtnHab[i] = new Button_2('<center>Configure Min<\/center>');
    tBtnHabMax[i] = new Button_2('<center>Configure Max<\/center>');
    hButtonPanel = new HorizontalPanel_2;
    $add_13(this$static.sHab[i], this$static.gHab[i]);
    $add_8(this$static.vHab[i], new HTML_1('<center><b>Habitat Configuration ' + i + '<\/b><\/center>'));
    $add_8(this$static.vHab[i], this$static.sHab[i]);
    setCheck(this$static.confLabel, i, new HTML_1('<center>Click "Configure" for new configuration<\/center>'));
    $add_8(this$static.vHab[i], this$static.confLabel[i]);
    $add_15(hButtonPanel, tBtnHab[i]);
    $add_15(hButtonPanel, tBtnHabMax[i]);
    $add_8(this$static.vHab[i], hButtonPanel);
    $setSize_1(this$static.gHab[i], '327px', '240px');
    $setSize_4(this$static.sHab[i], '327px', '240px');
    $redraw(this$static, i);
    add_7(tBtnHab[i], new ConfigurationGUI$1_0(this$static, i));
    add_7(tBtnHabMax[i], new ConfigurationGUI$2_0(this$static, i));
  }
  setHabConfigBtn(false);
  setHabConfigBtnMax(false);
}

function $redraw(this$static, i){
  var j, k, target;
  $clear_1(this$static.dragController[i].dropControllerList);
  $clear_0(this$static.gHab[i]);
  for (k = 0; k < 25; ++k) {
    $setWidget_2(this$static.gHab[i], k, 0, new HTML_1('<font color="white"><center>' + k + '<\/center><\/font>'));
  }
  for (j = 0; j < 25; ++j) {
    j < 10?$setWidget_2(this$static.gHab[i], 0, j, new HTML_1('<font color="white"><center>_' + j + '<\/center><\/font>')):$setWidget_2(this$static.gHab[i], 0, j, new HTML_1('<font color="white"><center>' + j + '<\/center><\/font>'));
  }
  for (k = 1; k < 25; ++k) {
    for (j = 1; j < 25; ++j) {
      target = new AbsolutePanel_0;
      target.element.style['width'] = '13px';
      target.element.style['height'] = '13px';
      $setWidget_2(this$static.gHab[i], k, j, target);
      $registerDropController(this$static.dragController[i], new AbsolutePositionDropController_0(target));
    }
  }
}

function $setGrid(this$static, k, m_0){
  $setTitle(m_0, $getString(m_0));
  $add_11(dynamicCast($getWidget_0(this$static.gHab[k], m_0.gridy, m_0.gridx), Q$AbsolutePanel), m_0);
  $makeDraggable(this$static.dragController[k], m_0);
}

function ConfigurationGUI_0(){
  $clinit_ConfigurationGUI();
  this.sHab = initDim(_3Lcom_google_gwt_user_client_ui_ScrollPanel_2_classLit, makeCastMap([Q$HasAttachHandlers_$1, Q$HasHandlers_$1, Q$EventListener_$1, Q$HasVisibility_$1, Q$IsWidget_$1, Q$UIObject_$1, Q$Widget_$1, Q$Serializable, Q$Object_$1]), Q$ScrollPanel, 2, 0);
  this.gHab = initDim(_3Lcom_google_gwt_user_client_ui_Grid_2_classLit, makeCastMap([Q$HasAllDragAndDropHandlers_$1, Q$HasClickHandlers_$1, Q$HasDoubleClickHandlers_$1, Q$HasDragEndHandlers_$1, Q$HasDragEnterHandlers_$1, Q$HasDragHandlers_$1, Q$HasDragLeaveHandlers_$1, Q$HasDragOverHandlers_$1, Q$HasDragStartHandlers_$1, Q$HasDropHandlers_$1, Q$HasAttachHandlers_$1, Q$HasHandlers_$1, Q$EventListener_$1, Q$HasVisibility_$1, Q$IsWidget_$1, Q$UIObject_$1, Q$Widget_$1, Q$Serializable, Q$Object_$1]), Q$Grid, 2, 0);
  this.vHab = initDim(_3Lcom_extjs_gxt_ui_client_widget_VerticalPanel_2_classLit, makeCastMap([Q$HasAttachHandlers_$1, Q$HasHandlers_$1, Q$EventListener_$1, Q$HasVisibility_$1, Q$IsWidget_$1, Q$UIObject_$1, Q$Widget_$1, Q$Serializable, Q$Object_$1]), Q$VerticalPanel, 2, 0);
  this.confLabel = initDim(_3Lcom_google_gwt_user_client_ui_HTML_2_classLit, makeCastMap([Q$HasAllDragAndDropHandlers_$1, Q$HasAllGestureHandlers_$1, Q$HasAllMouseHandlers_$1, Q$HasAllTouchHandlers_$1, Q$HasClickHandlers_$1, Q$HasDoubleClickHandlers_$1, Q$HasDragEndHandlers_$1, Q$HasDragEnterHandlers_$1, Q$HasDragHandlers_$1, Q$HasDragLeaveHandlers_$1, Q$HasDragOverHandlers_$1, Q$HasDragStartHandlers_$1, Q$HasDropHandlers_$1, Q$HasGestureChangeHandlers_$1, Q$HasGestureEndHandlers_$1, Q$HasGestureStartHandlers_$1, Q$HasMouseDownHandlers_$1, Q$HasMouseMoveHandlers_$1, Q$HasMouseOutHandlers_$1, Q$HasMouseOverHandlers_$1, Q$HasMouseUpHandlers_$1, Q$HasMouseWheelHandlers_$1, Q$HasTouchCancelHandlers_$1, Q$HasTouchEndHandlers_$1, Q$HasTouchMoveHandlers_$1, Q$HasTouchStartHandlers_$1, Q$HasAttachHandlers_$1, Q$HasHandlers_$1, Q$EventListener_$1, Q$HasVisibility_$1, Q$IsWidget_$1, Q$SourcesClickEvents_$1, Q$SourcesMouseEvents_$1, Q$UIObject_$1, Q$Widget_$1, Q$Serializable, Q$Object_$1]), Q$HTML, 2, 0);
  this.hConfiguration = initDim(_3Lcom_mycompany_project_client_chee_HabitatConfiguration_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$HabitatConfiguration, 2, 0);
  this.dragController = initDim(_3Lcom_allen_1sauer_gwt_dnd_client_PickupDragController_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$PickupDragController, 2, 0);
  $initConfig(this);
}

function setHabConfigBtn(isOn){
  $clinit_ConfigurationGUI();
  var i;
  for (i = 0; i < 2; ++i) {
    $setEnabled_0(tBtnHab[i], isOn);
  }
}

function setHabConfigBtnMax(isOn){
  $clinit_ConfigurationGUI();
  var i;
  for (i = 0; i < 2; ++i) {
    $setEnabled_0(tBtnHabMax[i], isOn);
  }
}

defineSeed(632, 1, {}, ConfigurationGUI_0);
var tBtnHab, tBtnHabMax;
function ConfigurationGUI$1_0(this$0, val$temp){
  this.this$0 = this$0;
  this.val$temp = val$temp;
}

defineSeed(633, 1, makeCastMap([Q$ClickListener]), ConfigurationGUI$1_0);
_.onClick_1 = function onClick_3(sender){
  var i, j, m_0;
  if ($buildMin(this.this$0.hConfiguration[this.val$temp])) {
    $redraw(this.this$0, this.val$temp);
    $setVerticalScrollPosition(this.this$0.sHab[this.val$temp], $getYScrollPosition(this.this$0.hConfiguration[this.val$temp]) + 150);
    $setHorizontalScrollPosition(this.this$0.sHab[this.val$temp], $getXScrollPosition(this.this$0.hConfiguration[this.val$temp]) + 75);
    for (i = 0; i < this.this$0.hConfiguration[this.val$temp].grid_list.size_0; ++i) {
      for (j = 0; j < dynamicCast($get_6(this.this$0.hConfiguration[this.val$temp].grid_list, i), Q$ArrayList).size_0; ++j) {
        m_0 = dynamicCast($get_6(dynamicCast($get_6(this.this$0.hConfiguration[this.val$temp].grid_list, i), Q$ArrayList), j), Q$Module);
        $setGrid(this.this$0, this.val$temp, m_0);
      }
    }
    $setHTML(this.this$0.confLabel[this.val$temp], '<center>Minimum Configuration Successfully Built!<\/center>');
  }
   else 
    $setHTML(this.this$0.confLabel[this.val$temp], '<center>Not enough usable modules!<\/center>');
}
;
_.this$0 = null;
_.val$temp = 0;
function ConfigurationGUI$2_0(this$0, val$temp){
  this.this$0 = this$0;
  this.val$temp = val$temp;
}

defineSeed(634, 1, makeCastMap([Q$ClickListener]), ConfigurationGUI$2_0);
_.onClick_1 = function onClick_4(sender){
  var i, j, m_0;
  if ($buildMax(this.this$0.hConfiguration[this.val$temp])) {
    $redraw(this.this$0, this.val$temp);
    $setVerticalScrollPosition(this.this$0.sHab[this.val$temp], $getYScrollPosition(this.this$0.hConfiguration[this.val$temp]) + 190);
    $setHorizontalScrollPosition(this.this$0.sHab[this.val$temp], $getXScrollPosition(this.this$0.hConfiguration[this.val$temp]) + 75);
    for (i = 0; i < this.this$0.hConfiguration[this.val$temp].grid_list.size_0; ++i) {
      for (j = 0; j < dynamicCast($get_6(this.this$0.hConfiguration[this.val$temp].grid_list, i), Q$ArrayList).size_0; ++j) {
        m_0 = dynamicCast($get_6(dynamicCast($get_6(this.this$0.hConfiguration[this.val$temp].grid_list, i), Q$ArrayList), j), Q$Module);
        $setGrid(this.this$0, this.val$temp, m_0);
      }
    }
    $setHTML(this.this$0.confLabel[this.val$temp], '<center>Maximum Configuration Successfully Built!<\/center>');
  }
   else 
    $setHTML(this.this$0.confLabel[this.val$temp], '<center>Not enough usable modules!<\/center>');
}
;
_.this$0 = null;
_.val$temp = 0;
function $getNewUniqueKey(this$static){
  var countCheck, done, i, key;
  key = 0;
  done = false;
  while (!done) {
    countCheck = 0;
    key = nextInt(9999);
    if (this$static.keyList.size_0 == 0) {
      $add_17(this$static.keyList, valueOf(key));
      return key;
    }
     else {
      for (i = 0; i < this$static.keyList.size_0; ++i) {
        key == dynamicCast($get_6(this$static.keyList, i), Q$Integer).value_0 && ++countCheck;
      }
      if (countCheck >= 1)
        done = false;
      else {
        $add_17(this$static.keyList, valueOf(key));
        done = true;
      }
    }
  }
  return key;
}

function $getUniqueXY(){
  var countCheck, done, i, j, rowNCol;
  rowNCol = initDim(_3I_classLit, makeCastMap([Q$Serializable]), -1, 2, 1);
  done = false;
  while (!done) {
    countCheck = 0;
    rowNCol[0] = nextInt(48) + 1;
    rowNCol[1] = nextInt(48) + 1;
    for (i = 0; i < ($clinit_ModuleList() , mList).size_0; ++i) {
      for (j = 0; j < dynamicCast($get_6(mList, i), Q$ArrayList).size_0; ++j) {
        dynamicCast($get_6(dynamicCast($get_6(mList, i), Q$ArrayList), j), Q$Module).positionx == rowNCol[1] && dynamicCast($get_6(dynamicCast($get_6(mList, i), Q$ArrayList), j), Q$Module).positionx == rowNCol[0] && ++countCheck;
      }
    }
    countCheck >= 1?(done = false):(done = true);
  }
  return rowNCol;
}

function $loadGPSData(){
  var i, j;
  for (i = 0; i <= ($clinit_ModuleList() , mList).size_0; ++i) {
    $removeAllRows(($clinit_LoggingModuleGUI() , modulesFlexTableAll)[i]);
    $setHTML_0(modulesFlexTableAll[i], 0, 0, '<center><font size="1">Code Number<\/font><\/center>');
    $setHTML_0(modulesFlexTableAll[i], 0, 1, '<center><font size="1">Position<\/font><\/center>');
    $setHTML_0(modulesFlexTableAll[i], 0, 2, '<center><font size="1">Status<\/font><\/center>');
    $setHTML_0(modulesFlexTableAll[i], 0, 3, '<center><font size="1">Orientation<\/font><\/center>');
    $setHTML_0(modulesFlexTableAll[i], 0, 4, '<font size="1">Delete<\/font>');
  }
  initHistogram();
  for (i = 0; i < gpsList.size_0; ++i) {
    $clear_1(dynamicCast($get_6(mList, i), Q$ArrayList));
    for (j = 0; j < dynamicCast($get_6(gpsList, i), Q$ArrayList).size_0; ++j) {
      $add_17(dynamicCast($get_6(mList, i), Q$ArrayList), dynamicCast($get_6(dynamicCast($get_6(gpsList, i), Q$ArrayList), j), Q$Module));
      TableInit(dynamicCast($get_6(dynamicCast($get_6(gpsList, i), Q$ArrayList), j), Q$Module));
    }
  }
  $setHTML(($clinit_LoggingModuleGUI() , totalM), 'Total Module(s):' + getTotalModules() + '&nbsp&nbsp&nbsp&nbsp usable:' + getTotalUsableCount() + '&nbsp&nbsp&nbsp&nbsp usable After Repair:' + getTotalUsableAfterRepairCount() + '&nbsp&nbsp&nbsp&nbsp Beyond Repair:' + getTotalBeyondRepairCount());
  initMap();
}

function GPSData_0(){
  var coord, i, j, m_0, mType, m_size, choice;
  this.keyList = new ArrayList_0;
  gpsList = new ArrayList_0;
  for (i = 0; i < 10; ++i) {
    $add_17(gpsList, new ArrayList_0);
    m_size = nextInt(8);
    i == 0?(m_size = nextInt(19) + 1):i == 4 && (m_size = nextInt(11));
    for (j = 0; j < m_size; ++j) {
      mType = checkModuleType(i);
      m_0 = new Module_0(mType, getModuleImage(mType.ordinal));
      $setCodeNumber(m_0, $getNewUniqueKey(this));
      coord = $getUniqueXY();
      m_0.positionx = coord[1];
      m_0.positiony = coord[0];
      $setStats(m_0, (choice = nextInt(3) , choice == 1?'usable':choice == 2?'usable after repair':'beyond repair'));
      $setOrientation(m_0, nextInt(3));
      $add_17(dynamicCast($get_6(gpsList, i), Q$ArrayList), m_0);
    }
  }
}

defineSeed(635, 1, {}, GPSData_0);
var gpsList = null;
function $buildMax(this$static){
  var col, i, module, moduleOrder, retry, row, success;
  $initList(this$static);
  if (dynamicCast($get_6(this$static.m_list, 0), Q$ArrayList).size_0 >= 3 && dynamicCast($get_6(this$static.m_list, 1), Q$ArrayList).size_0 >= 1 && dynamicCast($get_6(this$static.m_list, 2), Q$ArrayList).size_0 >= 1 && dynamicCast($get_6(this$static.m_list, 3), Q$ArrayList).size_0 >= 1 && dynamicCast($get_6(this$static.m_list, 4), Q$ArrayList).size_0 >= 1 && dynamicCast($get_6(this$static.m_list, 5), Q$ArrayList).size_0 >= 1 && dynamicCast($get_6(this$static.m_list, 6), Q$ArrayList).size_0 >= 1 && dynamicCast($get_6(this$static.m_list, 8), Q$ArrayList).size_0 >= 1) {
    for (row = 0; row < 25; ++row) {
      for (col = 0; col < 25; ++col) {
        this$static.mGrid[row][col] = null;
      }
    }
    $connectPlains(this$static, dynamicCast($get_6(this$static.m_list, 0), Q$ArrayList).size_0, 10, 18);
    i = 0;
    moduleOrder = initValues(_3I_classLit, makeCastMap([Q$Serializable]), -1, [2, 8, 1, 3, 5, 6, 4, 9, 4, 4, 7]);
    retry = 0;
    while (!(dynamicCast($get_6(this$static.m_list, 0), Q$ArrayList).size_0 == 0 && dynamicCast($get_6(this$static.m_list, 1), Q$ArrayList).size_0 == 0 && dynamicCast($get_6(this$static.m_list, 2), Q$ArrayList).size_0 == 0 && dynamicCast($get_6(this$static.m_list, 3), Q$ArrayList).size_0 == 0 && dynamicCast($get_6(this$static.m_list, 4), Q$ArrayList).size_0 == 0 && dynamicCast($get_6(this$static.m_list, 5), Q$ArrayList).size_0 == 0 && dynamicCast($get_6(this$static.m_list, 6), Q$ArrayList).size_0 == 0 && dynamicCast($get_6(this$static.m_list, 8), Q$ArrayList).size_0 == 0 && dynamicCast($get_6(this$static.m_list, 7), Q$ArrayList).size_0 == 0 && dynamicCast($get_6(this$static.m_list, 9), Q$ArrayList).size_0 == 0)) {
      success = true;
      if ($numberOfOccupiedPlains(this$static) == dynamicCast($get_6(this$static.grid_list, 0), Q$ArrayList).size_0) {
        alert_0('Due to the number of plains, some modules were not used');
        break;
      }
      if (dynamicCast($get_6(this$static.m_list, moduleOrder[i]), Q$ArrayList).size_0 != 0) {
        module = dynamicCast($remove_14(dynamicCast($get_6(this$static.m_list, moduleOrder[i]), Q$ArrayList), nextInt(dynamicCast($get_6(this$static.m_list, moduleOrder[i]), Q$ArrayList).size_0)), Q$Module);
        if (!$placeModules(this$static, module)) {
          success = false;
          $add_17(dynamicCast($get_6(this$static.m_list, moduleOrder[i]), Q$ArrayList), module);
          $isOnlyRestrictedModule(this$static) && ++retry;
          if (retry == 200) {
            $swap(this$static, module);
            success = true;
            retry = 0;
          }
        }
      }
      if (success || dynamicCast($get_6(this$static.m_list, moduleOrder[i]), Q$ArrayList).size_0 == 0) {
        ++i;
        i > 10 && (i = 0);
      }
    }
    return true;
  }
   else 
    return false;
}

function $buildMin(this$static){
  var col, i, module, moduleOrder, retry, row, success;
  $initList(this$static);
  if (dynamicCast($get_6(this$static.m_list, 0), Q$ArrayList).size_0 >= 3 && dynamicCast($get_6(this$static.m_list, 1), Q$ArrayList).size_0 >= 1 && dynamicCast($get_6(this$static.m_list, 2), Q$ArrayList).size_0 >= 1 && dynamicCast($get_6(this$static.m_list, 3), Q$ArrayList).size_0 >= 1 && dynamicCast($get_6(this$static.m_list, 4), Q$ArrayList).size_0 >= 1 && dynamicCast($get_6(this$static.m_list, 5), Q$ArrayList).size_0 >= 1 && dynamicCast($get_6(this$static.m_list, 6), Q$ArrayList).size_0 >= 1 && dynamicCast($get_6(this$static.m_list, 8), Q$ArrayList).size_0 >= 1) {
    for (row = 0; row < 25; ++row) {
      for (col = 0; col < 25; ++col) {
        this$static.mGrid[row][col] = null;
      }
    }
    $connectPlains(this$static, 3, 11, 14);
    for (i = 0; i < this$static.m_list.size_0; ++i) {
      while (dynamicCast($get_6(this$static.m_list, i), Q$ArrayList).size_0 > 1) {
        $remove_14(dynamicCast($get_6(this$static.m_list, i), Q$ArrayList), nextInt(dynamicCast($get_6(this$static.m_list, i), Q$ArrayList).size_0));
      }
      (i == 7 || i == 9) && $remove_14(dynamicCast($get_6(this$static.m_list, i), Q$ArrayList), 0);
    }
    i = 0;
    moduleOrder = initValues(_3I_classLit, makeCastMap([Q$Serializable]), -1, [2, 8, 1, 3, 5, 6, 4]);
    retry = 0;
    while (!(dynamicCast($get_6(this$static.m_list, 0), Q$ArrayList).size_0 == 0 && dynamicCast($get_6(this$static.m_list, 1), Q$ArrayList).size_0 == 0 && dynamicCast($get_6(this$static.m_list, 2), Q$ArrayList).size_0 == 0 && dynamicCast($get_6(this$static.m_list, 3), Q$ArrayList).size_0 == 0 && dynamicCast($get_6(this$static.m_list, 4), Q$ArrayList).size_0 == 0 && dynamicCast($get_6(this$static.m_list, 5), Q$ArrayList).size_0 == 0 && dynamicCast($get_6(this$static.m_list, 6), Q$ArrayList).size_0 == 0 && dynamicCast($get_6(this$static.m_list, 8), Q$ArrayList).size_0 == 0)) {
      success = true;
      if (dynamicCast($get_6(this$static.m_list, moduleOrder[i]), Q$ArrayList).size_0 != 0) {
        module = dynamicCast($remove_14(dynamicCast($get_6(this$static.m_list, moduleOrder[i]), Q$ArrayList), 0), Q$Module);
        if (!$placeModules(this$static, module)) {
          success = false;
          $add_17(dynamicCast($get_6(this$static.m_list, moduleOrder[i]), Q$ArrayList), module);
          $isOnlyRestrictedModule(this$static) && ++retry;
          if (retry == 200) {
            $swap(this$static, module);
            success = true;
            retry = 0;
          }
        }
      }
      if (success || dynamicCast($get_6(this$static.m_list, moduleOrder[i]), Q$ArrayList).size_0 == 0) {
        ++i;
        i > 6 && (i = 0);
      }
    }
    return true;
  }
   else 
    return false;
}

function $canPlaceHere(this$static, module, row, col){
  if (module.moduleType == ($clinit_ModuleType() , AIR_LOCK)) {
    if (!!this$static.mGrid[row - 1][col] && this$static.mGrid[row - 1][col].moduleType == DORMITORY)
      return false;
    if (!!this$static.mGrid[row + 1][col] && this$static.mGrid[row + 1][col].moduleType == DORMITORY)
      return false;
    if (!!this$static.mGrid[row][col - 1] && this$static.mGrid[row][col - 1].moduleType == DORMITORY)
      return false;
    if (!!this$static.mGrid[row][col + 1] && this$static.mGrid[row][col + 1].moduleType == DORMITORY)
      return false;
  }
   else if (module.moduleType == DORMITORY) {
    if (!!this$static.mGrid[row - 1][col] && this$static.mGrid[row - 1][col].moduleType == AIR_LOCK)
      return false;
    if (!!this$static.mGrid[row + 1][col] && this$static.mGrid[row + 1][col].moduleType == AIR_LOCK)
      return false;
    if (!!this$static.mGrid[row][col - 1] && this$static.mGrid[row][col - 1].moduleType == AIR_LOCK)
      return false;
    if (!!this$static.mGrid[row][col + 1] && this$static.mGrid[row][col + 1].moduleType == AIR_LOCK)
      return false;
  }
   else if (module.moduleType == SANITATION) {
    if (!!this$static.mGrid[row - 1][col] && (this$static.mGrid[row - 1][col].moduleType == CANTEEN || this$static.mGrid[row - 1][col].moduleType == FOOD_WATER_STORAGE))
      return false;
    if (!!this$static.mGrid[row + 1][col] && (this$static.mGrid[row + 1][col].moduleType == CANTEEN || this$static.mGrid[row + 1][col].moduleType == FOOD_WATER_STORAGE))
      return false;
    if (!!this$static.mGrid[row][col - 1] && (this$static.mGrid[row][col - 1].moduleType == CANTEEN || this$static.mGrid[row][col - 1].moduleType == FOOD_WATER_STORAGE))
      return false;
    if (!!this$static.mGrid[row][col + 1] && (this$static.mGrid[row][col + 1].moduleType == CANTEEN || this$static.mGrid[row][col + 1].moduleType == FOOD_WATER_STORAGE))
      return false;
  }
   else if (module.moduleType == CANTEEN || module.moduleType == FOOD_WATER_STORAGE) {
    if (!!this$static.mGrid[row - 1][col] && this$static.mGrid[row - 1][col].moduleType == SANITATION)
      return false;
    if (!!this$static.mGrid[row + 1][col] && this$static.mGrid[row + 1][col].moduleType == SANITATION)
      return false;
    if (!!this$static.mGrid[row][col - 1] && this$static.mGrid[row][col - 1].moduleType == SANITATION)
      return false;
    if (!!this$static.mGrid[row][col + 1] && this$static.mGrid[row][col + 1].moduleType == SANITATION)
      return false;
  }
  return true;
}

--></script>
<script><!--
function $connectPlains(this$static, limit, min, max){
  var col, i, ranCol, ranRow, randomModule, row, success;
  row = nextInt(max - min) + min;
  col = nextInt(max - min) + min;
  while (dynamicCast($get_6(this$static.m_list, 0), Q$ArrayList).size_0 > limit) {
    $remove_14(dynamicCast($get_6(this$static.m_list, 0), Q$ArrayList), nextInt(dynamicCast($get_6(this$static.m_list, 0), Q$ArrayList).size_0));
  }
  randomModule = nextInt(dynamicCast($get_6(this$static.m_list, 0), Q$ArrayList).size_0);
  this$static.mGrid[row][col] = dynamicCast($remove_14(dynamicCast($get_6(this$static.m_list, 0), Q$ArrayList), randomModule), Q$Module);
  $setGridX(this$static.mGrid[row][col], col);
  $setGridY(this$static.mGrid[row][col], row);
  $add_17(dynamicCast($get_6(this$static.grid_list, 0), Q$ArrayList), this$static.mGrid[row][col]);
  while (dynamicCast($get_6(this$static.m_list, 0), Q$ArrayList).size_0 != 0) {
    success = false;
    randomModule = nextInt(dynamicCast($get_6(this$static.grid_list, 0), Q$ArrayList).size_0);
    row = dynamicCast($get_6(dynamicCast($get_6(this$static.grid_list, 0), Q$ArrayList), randomModule), Q$Module).gridy;
    col = dynamicCast($get_6(dynamicCast($get_6(this$static.grid_list, 0), Q$ArrayList), randomModule), Q$Module).gridx;
    ranRow = nextInt(row + 2 - (row - 1)) + (row - 1);
    ranCol = nextInt(col + 2 - (col - 1)) + (col - 1);
    i = dynamicCast($remove_14(dynamicCast($get_6(this$static.m_list, 0), Q$ArrayList), nextInt(dynamicCast($get_6(this$static.m_list, 0), Q$ArrayList).size_0)), Q$Module);
    switch (nextInt(2)) {
      case 1:
        if (!this$static.mGrid[ranRow][col] && !(!!this$static.mGrid[ranRow - 1][col] && this$static.mGrid[ranRow - 1][col].moduleType == ($clinit_ModuleType() , PLAIN) && !!this$static.mGrid[ranRow - 1][col - 1] && this$static.mGrid[ranRow - 1][col - 1].moduleType == ($clinit_ModuleType() , PLAIN) && !!this$static.mGrid[ranRow][col - 1] && this$static.mGrid[ranRow][col - 1].moduleType == ($clinit_ModuleType() , PLAIN) || !!this$static.mGrid[ranRow - 1][col] && this$static.mGrid[ranRow - 1][col].moduleType == ($clinit_ModuleType() , PLAIN) && !!this$static.mGrid[ranRow - 1][col + 1] && this$static.mGrid[ranRow - 1][col + 1].moduleType == ($clinit_ModuleType() , PLAIN) && !!this$static.mGrid[ranRow][col + 1] && this$static.mGrid[ranRow][col + 1].moduleType == ($clinit_ModuleType() , PLAIN) || !!this$static.mGrid[ranRow + 1][col] && this$static.mGrid[ranRow + 1][col].moduleType == ($clinit_ModuleType() , PLAIN) && !!this$static.mGrid[ranRow + 1][col - 1] && this$static.mGrid[ranRow + 1][col - 1].moduleType == ($clinit_ModuleType() , PLAIN) && !!this$static.mGrid[ranRow][col - 1] && this$static.mGrid[ranRow][col - 1].moduleType == ($clinit_ModuleType() , PLAIN) || !!this$static.mGrid[ranRow + 1][col] && this$static.mGrid[ranRow + 1][col].moduleType == ($clinit_ModuleType() , PLAIN) && !!this$static.mGrid[ranRow + 1][col + 1] && this$static.mGrid[ranRow + 1][col + 1].moduleType == ($clinit_ModuleType() , PLAIN) && !!this$static.mGrid[ranRow][col + 1] && this$static.mGrid[ranRow][col + 1].moduleType == ($clinit_ModuleType() , PLAIN))) {
          success = true;
          this$static.mGrid[ranRow][col] = i;
          $setGridX(this$static.mGrid[ranRow][col], col);
          $setGridY(this$static.mGrid[ranRow][col], ranRow);
          $add_17(dynamicCast($get_6(this$static.grid_list, i.moduleType.ordinal), Q$ArrayList), this$static.mGrid[ranRow][col]);
        }

        break;
      default:if (!this$static.mGrid[row][ranCol] && !(!!this$static.mGrid[row - 1][ranCol] && this$static.mGrid[row - 1][ranCol].moduleType == ($clinit_ModuleType() , PLAIN) && !!this$static.mGrid[row - 1][ranCol - 1] && this$static.mGrid[row - 1][ranCol - 1].moduleType == ($clinit_ModuleType() , PLAIN) && !!this$static.mGrid[row][ranCol - 1] && this$static.mGrid[row][ranCol - 1].moduleType == ($clinit_ModuleType() , PLAIN) || !!this$static.mGrid[row - 1][ranCol] && this$static.mGrid[row - 1][ranCol].moduleType == ($clinit_ModuleType() , PLAIN) && !!this$static.mGrid[row - 1][ranCol + 1] && this$static.mGrid[row - 1][ranCol + 1].moduleType == ($clinit_ModuleType() , PLAIN) && !!this$static.mGrid[row][ranCol + 1] && this$static.mGrid[row][ranCol + 1].moduleType == ($clinit_ModuleType() , PLAIN) || !!this$static.mGrid[row + 1][ranCol] && this$static.mGrid[row + 1][ranCol].moduleType == ($clinit_ModuleType() , PLAIN) && !!this$static.mGrid[row + 1][ranCol - 1] && this$static.mGrid[row + 1][ranCol - 1].moduleType == ($clinit_ModuleType() , PLAIN) && !!this$static.mGrid[row][ranCol - 1] && this$static.mGrid[row][ranCol - 1].moduleType == ($clinit_ModuleType() , PLAIN) || !!this$static.mGrid[row + 1][ranCol] && this$static.mGrid[row + 1][ranCol].moduleType == ($clinit_ModuleType() , PLAIN) && !!this$static.mGrid[row + 1][ranCol + 1] && this$static.mGrid[row + 1][ranCol + 1].moduleType == ($clinit_ModuleType() , PLAIN) && !!this$static.mGrid[row][ranCol + 1] && this$static.mGrid[row][ranCol + 1].moduleType == ($clinit_ModuleType() , PLAIN))) {
          success = true;
          this$static.mGrid[row][ranCol] = i;
          $setGridX(this$static.mGrid[row][ranCol], ranCol);
          $setGridY(this$static.mGrid[row][ranCol], row);
          $add_17(dynamicCast($get_6(this$static.grid_list, i.moduleType.ordinal), Q$ArrayList), this$static.mGrid[row][ranCol]);
        }

    }
    success || $add_17(dynamicCast($get_6(this$static.m_list, 0), Q$ArrayList), i);
  }
}

function $getXScrollPosition(this$static){
  var i, xTotal;
  xTotal = 0;
  for (i = 0; i < dynamicCast($get_6(this$static.grid_list, 0), Q$ArrayList).size_0; ++i) {
    xTotal += dynamicCast($get_6(dynamicCast($get_6(this$static.grid_list, 0), Q$ArrayList), i), Q$Module).gridx;
  }
  return ~~(xTotal / dynamicCast($get_6(this$static.grid_list, 0), Q$ArrayList).size_0);
}

function $getYScrollPosition(this$static){
  var i, yTotal;
  yTotal = 0;
  for (i = 0; i < dynamicCast($get_6(this$static.grid_list, 0), Q$ArrayList).size_0; ++i) {
    yTotal += dynamicCast($get_6(dynamicCast($get_6(this$static.grid_list, 0), Q$ArrayList), i), Q$Module).gridy;
  }
  return ~~(yTotal / dynamicCast($get_6(this$static.grid_list, 0), Q$ArrayList).size_0);
}

function $initList(this$static){
  var i, j, m_0;
  !this$static.m_list?(this$static.m_list = new ArrayList_0):$clear_1(this$static.m_list);
  !this$static.grid_list?(this$static.grid_list = new ArrayList_0):$clear_1(this$static.grid_list);
  !this$static.moduleNumber?(this$static.moduleNumber = new ArrayList_0):$clear_1(this$static.moduleNumber);
  for (i = 0; i < ($clinit_ModuleList() , mList).size_0; ++i) {
    $add_17(this$static.moduleNumber, valueOf(i));
    $add_17(this$static.m_list, new ArrayList_0);
    $add_17(this$static.grid_list, new ArrayList_0);
    for (j = 0; j < dynamicCast($get_6(mList, i), Q$ArrayList).size_0; ++j) {
      if (!$equals_2(dynamicCast($get_6(dynamicCast($get_6(mList, i), Q$ArrayList), j), Q$Module).stats, 'beyond repair')) {
        m_0 = new Module_0(dynamicCast($get_6(dynamicCast($get_6(mList, i), Q$ArrayList), j), Q$Module).moduleType, getModuleImage(dynamicCast($get_6(dynamicCast($get_6(mList, i), Q$ArrayList), j), Q$Module).moduleType.ordinal));
        $setCodeNumber(m_0, dynamicCast($get_6(dynamicCast($get_6(mList, i), Q$ArrayList), j), Q$Module).codeNumber);
        $setOrientation(m_0, dynamicCast($get_6(dynamicCast($get_6(mList, i), Q$ArrayList), j), Q$Module).orientation);
        $setPositionX(m_0, dynamicCast($get_6(dynamicCast($get_6(mList, i), Q$ArrayList), j), Q$Module).positionx);
        $setPositionY(m_0, dynamicCast($get_6(dynamicCast($get_6(mList, i), Q$ArrayList), j), Q$Module).positiony);
        $setStats(m_0, dynamicCast($get_6(dynamicCast($get_6(mList, i), Q$ArrayList), j), Q$Module).stats);
        $add_17(dynamicCast($get_6(this$static.m_list, i), Q$ArrayList), m_0);
      }
    }
  }
}

function $isOnlyRestrictedModule(this$static){
  var count, i;
  count = 0;
  $nextModule(this$static);
  for (i = 0; i < this$static.moduleNumber.size_0; ++i) {
    (dynamicCast($get_6(this$static.moduleNumber, i), Q$Integer).value_0 == ($clinit_ModuleType() , AIR_LOCK).ordinal || dynamicCast($get_6(this$static.moduleNumber, i), Q$Integer).value_0 == DORMITORY.ordinal || dynamicCast($get_6(this$static.moduleNumber, i), Q$Integer).value_0 == CANTEEN.ordinal || dynamicCast($get_6(this$static.moduleNumber, i), Q$Integer).value_0 == SANITATION.ordinal || dynamicCast($get_6(this$static.moduleNumber, i), Q$Integer).value_0 == FOOD_WATER_STORAGE.ordinal) && ++count;
  }
  return count == this$static.moduleNumber.size_0;
}

function $nextModule(this$static){
  var add, i, j, rand;
  for (i = 0; i < 10; ++i) {
    if (dynamicCast($get_6(this$static.m_list, i), Q$ArrayList).size_0 == 0) {
      for (j = 0; j < this$static.moduleNumber.size_0; ++j) {
        if (dynamicCast($get_6(this$static.moduleNumber, j), Q$Integer).value_0 == i) {
          $remove_14(this$static.moduleNumber, j);
          j = this$static.moduleNumber.size_0;
        }
      }
    }
     else {
      add = 0;
      for (j = 0; j < this$static.moduleNumber.size_0; ++j) {
        dynamicCast($get_6(this$static.moduleNumber, j), Q$Integer).value_0 != i && ++add;
      }
      add == this$static.moduleNumber.size_0 && $add_17(this$static.moduleNumber, valueOf(i));
    }
  }
  rand = nextInt(this$static.moduleNumber.size_0);
  return this$static.moduleNumber.size_0 == 0?0:dynamicCast($get_6(this$static.moduleNumber, rand), Q$Integer).value_0;
}

function $numberOfOccupiedPlains(this$static){
  var col, i, row;
  this$static.plainCount = 0;
  for (i = 0; i < dynamicCast($get_6(this$static.grid_list, 0), Q$ArrayList).size_0; ++i) {
    col = dynamicCast($get_6(dynamicCast($get_6(this$static.grid_list, 0), Q$ArrayList), i), Q$Module).gridx;
    row = dynamicCast($get_6(dynamicCast($get_6(this$static.grid_list, 0), Q$ArrayList), i), Q$Module).gridy;
    !!this$static.mGrid[row][col + 1] && !!this$static.mGrid[row][col - 1] && !!this$static.mGrid[row + 1][col] && !!this$static.mGrid[row - 1][col] && ++this$static.plainCount;
  }
  return this$static.plainCount;
}

function $placeModules(this$static, i){
  var col, module, ranCol, ranRow, row;
  module = nextInt(dynamicCast($get_6(this$static.grid_list, 0), Q$ArrayList).size_0);
  row = dynamicCast($get_6(dynamicCast($get_6(this$static.grid_list, 0), Q$ArrayList), module), Q$Module).gridy;
  col = dynamicCast($get_6(dynamicCast($get_6(this$static.grid_list, 0), Q$ArrayList), module), Q$Module).gridx;
  ranRow = nextInt(row + 2 - (row - 1)) + (row - 1);
  ranCol = nextInt(col + 2 - (col - 1)) + (col - 1);
  switch (nextInt(2)) {
    case 1:
      if (!this$static.mGrid[ranRow][col] && $canPlaceHere(this$static, i, ranRow, col)) {
        this$static.mGrid[ranRow][col] = i;
        $setGridX(this$static.mGrid[ranRow][col], col);
        $setGridY(this$static.mGrid[ranRow][col], ranRow);
        $add_17(dynamicCast($get_6(this$static.grid_list, i.moduleType.ordinal), Q$ArrayList), i);
        return true;
      }

      break;
    default:if (!this$static.mGrid[row][ranCol] && $canPlaceHere(this$static, i, row, ranCol)) {
        this$static.mGrid[row][ranCol] = i;
        $setGridX(this$static.mGrid[row][ranCol], ranCol);
        $setGridY(this$static.mGrid[row][ranCol], row);
        $add_17(dynamicCast($get_6(this$static.grid_list, i.moduleType.ordinal), Q$ArrayList), i);
        return true;
      }

  }
  return false;
}

function $swap(this$static, m_0){
  var i, temp;
  for (i = nextInt(this$static.grid_list.size_0);; i = nextInt(this$static.grid_list.size_0)) {
    if (dynamicCast($get_6(this$static.grid_list, i), Q$ArrayList).size_0 != 0 && i != ($clinit_ModuleType() , PLAIN).ordinal) {
      temp = dynamicCast($get_6(dynamicCast($get_6(this$static.grid_list, i), Q$ArrayList), nextInt(dynamicCast($get_6(this$static.grid_list, i), Q$ArrayList).size_0)), Q$Module);
      if ($canPlaceHere(this$static, m_0, temp.gridy, temp.gridx)) {
        this$static.mGrid[temp.gridy][temp.gridx] = m_0;
        $remove_15(dynamicCast($get_6(this$static.m_list, m_0.moduleType.ordinal), Q$ArrayList), m_0);
        $add_17(dynamicCast($get_6(this$static.m_list, temp.moduleType.ordinal), Q$ArrayList), temp);
        $remove_15(dynamicCast($get_6(this$static.grid_list, temp.moduleType.ordinal), Q$ArrayList), temp);
        $upateCoord(this$static, temp.gridy, temp.gridx);
        $add_17(dynamicCast($get_6(this$static.grid_list, m_0.moduleType.ordinal), Q$ArrayList), m_0);
        return;
      }
    }
  }
}

function $upateCoord(this$static, row, col){
  $setGridX(this$static.mGrid[row][col], col);
  $setGridY(this$static.mGrid[row][col], row);
}

function HabitatConfiguration_0(){
  this.mGrid = initDims([_3_3Lcom_mycompany_project_client_chee_Module_2_classLit, _3Lcom_mycompany_project_client_chee_Module_2_classLit], [makeCastMap([Q$Serializable, Q$Object_$1]), makeCastMap([Q$HasAllDragAndDropHandlers_$1, Q$HasAllGestureHandlers_$1, Q$HasAllMouseHandlers_$1, Q$HasAllTouchHandlers_$1, Q$HasClickHandlers_$1, Q$HasDoubleClickHandlers_$1, Q$HasDragEndHandlers_$1, Q$HasDragEnterHandlers_$1, Q$HasDragHandlers_$1, Q$HasDragLeaveHandlers_$1, Q$HasDragOverHandlers_$1, Q$HasDragStartHandlers_$1, Q$HasDropHandlers_$1, Q$HasErrorHandlers_$1, Q$HasGestureChangeHandlers_$1, Q$HasGestureEndHandlers_$1, Q$HasGestureStartHandlers_$1, Q$HasLoadHandlers_$1, Q$HasMouseDownHandlers_$1, Q$HasMouseMoveHandlers_$1, Q$HasMouseOutHandlers_$1, Q$HasMouseOverHandlers_$1, Q$HasMouseUpHandlers_$1, Q$HasMouseWheelHandlers_$1, Q$HasTouchCancelHandlers_$1, Q$HasTouchEndHandlers_$1, Q$HasTouchMoveHandlers_$1, Q$HasTouchStartHandlers_$1, Q$HasAttachHandlers_$1, Q$HasHandlers_$1, Q$EventListener_$1, Q$HasVisibility_$1, Q$Image_$1, Q$IsWidget_$1, Q$SourcesClickEvents_$1, Q$SourcesLoadEvents_$1, Q$SourcesMouseEvents_$1, Q$UIObject_$1, Q$Widget_$1, Q$Module_$1, Q$Serializable, Q$Object_$1])], [Q$Module_$1, Q$Module], [25, 25], 2, 0);
}

defineSeed(636, 1, makeCastMap([Q$HabitatConfiguration]), HabitatConfiguration_0);
_.grid_list = null;
_.m_list = null;
_.moduleNumber = null;
_.plainCount = 0;
function $InitAction(this$static){
  var count, done, k;
  if ($getLength(($clinit_Main() , $clinit_Main() , local_0).storage) > 0 && $getItem_0(local_0, 'Habitat Save') != null) {
    this$static.size_0 = __parseAndValidateInt($getItem_0(local_0, 'Habitat Size'), 10);
    done = false;
    count = 0;
    for (k = 0; !done; ++k) {
      if ($getItem_0(local_0, 'HabitatFile' + k) != null) {
        $insertItem(this$static.listBox, $getItem_0(local_0, 'HabitatFile' + k));
        ++count;
        count == this$static.size_0 && (done = true);
      }
    }
  }
   else {
    this$static.size_0 = 0;
  }
  $addDomHandler(this$static.btnSaveFile, new HabitatConfigurationGUI$1_0(this$static), ($clinit_ClickEvent() , $clinit_ClickEvent() , TYPE));
  $addDomHandler(this$static.btnLoadFile, new HabitatConfigurationGUI$2_0(this$static), TYPE);
  $addDomHandler(this$static.btnDeleteFile, new HabitatConfigurationGUI$3_0(this$static), TYPE);
}

function $LoadFromMem(this$static, fileName){
  var i, j, k, m_0, mType, m_size, number;
  for (k = 0; k < 2; ++k) {
    $redraw(this$static.confGUI, k);
    $initList(this$static.confGUI.hConfiguration[k]);
    $setVerticalScrollPosition(this$static.confGUI.sHab[k], 220);
    $setHorizontalScrollPosition(this$static.confGUI.sHab[k], 100);
    for (i = 0; i < 10; ++i) {
      $clear_1(dynamicCast($get_6(this$static.confGUI.hConfiguration[k].grid_list, i), Q$ArrayList));
      m_size = __parseAndValidateInt($trim($getItem_0(($clinit_Main() , $clinit_Main() , local_0), fileName + 'Habitat' + i + '' + k)), 10);
      for (j = 0; j < m_size; ++j) {
        number = __parseAndValidateInt($getItem_0(local_0, fileName + 'G_ModuleType' + i + '' + j + '' + k), 10);
        mType = checkModuleType(number);
        m_0 = new Module_0(mType, getModuleImage(mType.ordinal));
        $setCodeNumber(m_0, __parseAndValidateInt($getItem_0(local_0, fileName + 'G_ModuleCode' + i + '' + j + '' + k), 10));
        $setPositionX(m_0, __parseAndValidateInt($getItem_0(local_0, fileName + 'G_ModulePosX' + i + '' + j + '' + k), 10));
        $setPositionY(m_0, __parseAndValidateInt($getItem_0(local_0, fileName + 'G_ModulePosY' + i + '' + j + '' + k), 10));
        $setStats(m_0, $getItem_0(local_0, fileName + 'G_ModuleStat' + i + '' + j + '' + k));
        $setOrientation(m_0, __parseAndValidateInt($getItem_0(local_0, fileName + 'G_ModuleOrient' + i + '' + j + '' + k), 10));
        $setGridX(m_0, __parseAndValidateInt($getItem_0(local_0, fileName + 'GX_ModulePosX' + i + '' + j + '' + k), 10));
        $setGridY(m_0, __parseAndValidateInt($getItem_0(local_0, fileName + 'GX_ModulePosY' + i + '' + j + '' + k), 10));
        $add_17(dynamicCast($get_6(this$static.confGUI.hConfiguration[k].grid_list, i), Q$ArrayList), m_0);
        $setGrid(this$static.confGUI, k, m_0);
      }
    }
  }
}

function $SaveToMem(this$static, fileName){
  var i, j, k;
  for (k = 0; k < 2; ++k) {
    for (i = 0; i < 10; ++i) {
      $setItem(($clinit_Main() , $clinit_Main() , local_0), fileName + 'Habitat' + i + '' + k, '' + dynamicCast($get_6(this$static.confGUI.hConfiguration[k].grid_list, i), Q$ArrayList).size_0);
      for (j = 0; j < dynamicCast($get_6(this$static.confGUI.hConfiguration[k].grid_list, i), Q$ArrayList).size_0; ++j) {
        $setItem(local_0, fileName + 'G_ModuleType' + i + '' + j + '' + k, '' + dynamicCast($get_6(dynamicCast($get_6(this$static.confGUI.hConfiguration[k].grid_list, i), Q$ArrayList), j), Q$Module).moduleType.ordinal);
        $setItem(local_0, fileName + 'G_ModuleCode' + i + '' + j + '' + k, '' + dynamicCast($get_6(dynamicCast($get_6(this$static.confGUI.hConfiguration[k].grid_list, i), Q$ArrayList), j), Q$Module).codeNumber);
        $setItem(local_0, fileName + 'G_ModulePosX' + i + '' + j + '' + k, '' + dynamicCast($get_6(dynamicCast($get_6(this$static.confGUI.hConfiguration[k].grid_list, i), Q$ArrayList), j), Q$Module).positionx);
        $setItem(local_0, fileName + 'G_ModulePosY' + i + '' + j + '' + k, '' + dynamicCast($get_6(dynamicCast($get_6(this$static.confGUI.hConfiguration[k].grid_list, i), Q$ArrayList), j), Q$Module).positiony);
        $setItem(local_0, fileName + 'G_ModuleStat' + i + '' + j + '' + k, dynamicCast($get_6(dynamicCast($get_6(this$static.confGUI.hConfiguration[k].grid_list, i), Q$ArrayList), j), Q$Module).stats);
        $setItem(local_0, fileName + 'G_ModuleOrient' + i + '' + j + '' + k, '' + dynamicCast($get_6(dynamicCast($get_6(this$static.confGUI.hConfiguration[k].grid_list, i), Q$ArrayList), j), Q$Module).orientation);
        $setItem(local_0, fileName + 'GX_ModulePosY' + i + '' + j + '' + k, '' + dynamicCast($get_6(dynamicCast($get_6(this$static.confGUI.hConfiguration[k].grid_list, i), Q$ArrayList), j), Q$Module).gridy);
        $setItem(local_0, fileName + 'GX_ModulePosX' + i + '' + j + '' + k, '' + dynamicCast($get_6(dynamicCast($get_6(this$static.confGUI.hConfiguration[k].grid_list, i), Q$ArrayList), j), Q$Module).gridx);
      }
    }
  }
}

function $isFileSelected(this$static){
  var i;
  for (i = 0; i < this$static.listBox.element.options.length; ++i) {
    if ($isItemSelected(this$static.listBox, i))
      return true;
  }
  return false;
}

function HabitatConfigurationGUI_0(){
  var horizontalPanel, horizontalPanel2, htmlQualityCheck, htmlSaveloadModuleDetails, htmlfileName, htmlpreviousSavedFiles, qualityNSaveLoad, qualityVpanel, verticalPanel2, verticalPanel_1, verticalPanel_2;
  this.verticalPanel = new VerticalPanel_0;
  this.listBox = new ListBox_0;
  this.btnDeleteFile = new Button_2('Delete File');
  this.btnLoadFile = new Button_2('Load File');
  this.btnSaveFile = new Button_2('Save File');
  this.textBox = new TextBox_0;
  this.confGUI = new ConfigurationGUI_0;
  this.qCheck = new QualityCheckGUI_0;
  $setHorizontalAlign_0(this.verticalPanel, ($clinit_Style$HorizontalAlignment() , CENTER));
  $setSize_3(this.verticalPanel, '675px', '569px');
  $add_8(this.verticalPanel, new HTML_1('<center>Habitat Configuration<\/center>'));
  horizontalPanel = new HorizontalPanel_0;
  $add_8(this.verticalPanel, horizontalPanel);
  $add_8(horizontalPanel, this.confGUI.vHab[0]);
  $add_8(horizontalPanel, this.confGUI.vHab[1]);
  qualityVpanel = new VerticalPanel_0;
  qualityNSaveLoad = new HorizontalPanel_0;
  htmlQualityCheck = new HTML_2('<center><b>Quality Check<\/b><\/center>');
  $insert_1(qualityVpanel, htmlQualityCheck, qualityVpanel.items.size_0);
  $add_8(qualityVpanel, this.qCheck.verticalPanel);
  $insert_1(qualityNSaveLoad, qualityVpanel, qualityNSaveLoad.items.size_0);
  $setHorizontalAlign(qualityNSaveLoad, CENTER);
  $setVerticalAlign(qualityNSaveLoad, ($clinit_Style$VerticalAlignment() , MIDDLE));
  verticalPanel2 = new VerticalPanel_0;
  $setSize_3(verticalPanel2, '340px', '162px');
  $insert_1(qualityNSaveLoad, verticalPanel2, qualityNSaveLoad.items.size_0);
  $setHorizontalAlign_0(verticalPanel2, CENTER);
  $setVerticalAlign_0(verticalPanel2, MIDDLE);
  $add_8(this.verticalPanel, qualityNSaveLoad);
  htmlSaveloadModuleDetails = new HTML_2('<center><b>Save/Load Habitat Configurations<\/b><\/center>');
  $insert_1(verticalPanel2, htmlSaveloadModuleDetails, verticalPanel2.items.size_0);
  horizontalPanel2 = new HorizontalPanel_0;
  $insert_1(verticalPanel2, horizontalPanel2, verticalPanel2.items.size_0);
  $setSize_3(horizontalPanel2, '339px', '99px');
  verticalPanel_1 = new VerticalPanel_2;
  $setHorizontalAlignment_1(verticalPanel_1, ($clinit_HasHorizontalAlignment() , ALIGN_CENTER));
  $insert_1(horizontalPanel2, verticalPanel_1, horizontalPanel2.items.size_0);
  htmlfileName = new HTML_2('<center>File name:<\/center>');
  $add_18(verticalPanel_1, htmlfileName);
  $setAlignment_0(this.textBox, $clinit_ValueBoxBase$TextAlignment());
  $add_18(verticalPanel_1, this.textBox);
  $setWidth_0(this.textBox, '142px');
  $setTitle(this.textBox, 'Enter new save file name');
  $add_18(verticalPanel_1, this.btnSaveFile);
  $setWidth_0(this.btnSaveFile, '150px');
  $add_18(verticalPanel_1, this.btnLoadFile);
  $setWidth_0(this.btnLoadFile, '150px');
  $add_18(verticalPanel_1, this.btnDeleteFile);
  $setWidth_0(this.btnDeleteFile, '150px');
  verticalPanel_2 = new VerticalPanel_2;
  $insert_1(horizontalPanel2, verticalPanel_2, horizontalPanel2.items.size_0);
  htmlpreviousSavedFiles = new HTML_2('<center>Previous saved file(s)<\/center>');
  $add_18(verticalPanel_2, htmlpreviousSavedFiles);
  $add_18(verticalPanel_2, this.listBox);
  $setSize_1(this.listBox, '125px', '95px');
  this.listBox.element.size = 5;
  $InitAction(this);
}

defineSeed(637, 1, {}, HabitatConfigurationGUI_0);
_.size_0 = 0;
function HabitatConfigurationGUI$1_0(this$0){
  this.this$0 = this$0;
}

defineSeed(638, 1, makeCastMap([Q$ClickHandler, Q$EventHandler]), HabitatConfigurationGUI$1_0);
_.onClick_0 = function onClick_5(event_0){
  var hPanel, i, k, noBtn, popPanel, popUp, yesBtn;
  for (k = 0; k < 2; ++k) {
    if (!this.this$0.confGUI.hConfiguration[k].grid_list) {
      alert_0('Cannot save file at the moment.');
      return;
    }
  }
  for (i = 0; i < this.this$0.listBox.element.options.length; ++i) {
    if ($equals_2($getItemText(this.this$0.listBox, i), $getPropertyString(this.this$0.textBox.element, 'value'))) {
      alert_0('Sorry, please select a unique file name!');
      return;
    }
  }
  if ($getPropertyString(this.this$0.textBox.element, 'value').length > 20) {
    alert_0('File name must less than 19 characters long.');
  }
   else if ($getPropertyString(this.this$0.textBox.element, 'value').length > 0 && $getPropertyString(this.this$0.textBox.element, 'value').length < 20) {
    popUp = new DialogBox_0;
    popPanel = new VerticalPanel_0;
    hPanel = new HorizontalPanel_0;
    noBtn = new Button_2('no');
    noBtn.element.style['width'] = '50px';
    yesBtn = new Button_2('yes');
    yesBtn.element.style['width'] = '50px';
    $add_8(popPanel, new HTML_1('<center>Save new file?<\/center>'));
    $insert_1(popPanel, hPanel, popPanel.items.size_0);
    $setWidget_0(popUp.decPanel, popPanel);
    $maybeUpdateSize(popUp);
    $insert_1(hPanel, yesBtn, hPanel.items.size_0);
    $insert_1(hPanel, noBtn, hPanel.items.size_0);
    $setPopupPosition(popUp, 400, 100);
    $setHorizontalAlign_0(popPanel, ($clinit_Style$HorizontalAlignment() , CENTER));
    $setHorizontalAlign(hPanel, CENTER);
    !popUp.resizeHandlerRegistration && (popUp.resizeHandlerRegistration = addResizeHandler(new DialogBox$1_0(popUp)));
    $show_3(popUp);
    add_7(yesBtn, new HabitatConfigurationGUI$1$1_0(this, popUp));
    $addDomHandler(noBtn, new HabitatConfigurationGUI$1$2_0(popUp), ($clinit_ClickEvent() , $clinit_ClickEvent() , TYPE));
  }
   else if ($getPropertyString(this.this$0.textBox.element, 'value').length == 0 && this.this$0.listBox.element.options.length > 0 && $isFileSelected(this.this$0)) {
    popUp = new DialogBox_0;
    popPanel = new VerticalPanel_0;
    hPanel = new HorizontalPanel_0;
    noBtn = new Button_2('no');
    noBtn.element.style['width'] = '50px';
    yesBtn = new Button_2('yes');
    yesBtn.element.style['width'] = '50px';
    $add_8(popPanel, new HTML_1('<center>Overwrite file?<\/center>'));
    $insert_1(popPanel, hPanel, popPanel.items.size_0);
    $setWidget_0(popUp.decPanel, popPanel);
    $maybeUpdateSize(popUp);
    $insert_1(hPanel, yesBtn, hPanel.items.size_0);
    $insert_1(hPanel, noBtn, hPanel.items.size_0);
    $setPopupPosition(popUp, 400, 100);
    $setHorizontalAlign_0(popPanel, ($clinit_Style$HorizontalAlignment() , CENTER));
    $setHorizontalAlign(hPanel, CENTER);
    !popUp.resizeHandlerRegistration && (popUp.resizeHandlerRegistration = addResizeHandler(new DialogBox$1_0(popUp)));
    $show_3(popUp);
    add_7(yesBtn, new HabitatConfigurationGUI$1$3_0(this, popUp));
    $addDomHandler(noBtn, new HabitatConfigurationGUI$1$4_0(popUp), ($clinit_ClickEvent() , $clinit_ClickEvent() , TYPE));
  }
   else {
    alert_0('Please enter in a new save file name');
  }
}
;
_.this$0 = null;
function HabitatConfigurationGUI$1$1_0(this$1, val$popUp){
  this.this$1 = this$1;
  this.val$popUp = val$popUp;
}

defineSeed(639, 1, makeCastMap([Q$ClickListener]), HabitatConfigurationGUI$1$1_0);
_.onClick_1 = function onClick_6(sender){
  $setItem(($clinit_Main() , $clinit_Main() , local_0), 'HabitatFile' + this.this$1.this$0.size_0, $getPropertyString(this.this$1.this$0.textBox.element, 'value'));
  ++this.this$1.this$0.size_0;
  $setItem(local_0, 'Habitat Size', '' + this.this$1.this$0.size_0);
  $setItem(local_0, 'Habitat Save', 'Yes');
  $SaveToMem(this.this$1.this$0, $getPropertyString(this.this$1.this$0.textBox.element, 'value'));
  $insertItem(this.this$1.this$0.listBox, $getPropertyString(this.this$1.this$0.textBox.element, 'value'));
  this.this$1.this$0.textBox.element['value'] = '';
  $hide_4(this.val$popUp);
}
;
_.this$1 = null;
_.val$popUp = null;
function HabitatConfigurationGUI$1$2_0(val$popUp){
  this.val$popUp = val$popUp;
}

defineSeed(640, 1, makeCastMap([Q$ClickHandler, Q$EventHandler]), HabitatConfigurationGUI$1$2_0);
_.onClick_0 = function onClick_7(event_0){
  $hide_4(this.val$popUp);
}
;
_.val$popUp = null;
function HabitatConfigurationGUI$1$3_0(this$1, val$popUp){
  this.this$1 = this$1;
  this.val$popUp = val$popUp;
}

defineSeed(641, 1, makeCastMap([Q$ClickListener]), HabitatConfigurationGUI$1$3_0);
_.onClick_1 = function onClick_8(sender){
  var j;
  for (j = 0; j < this.this$1.this$0.size_0; ++j) {
    if ($equals_2($getItem_0(($clinit_Main() , $clinit_Main() , local_0), 'HabitatFile' + j), $getItemText(this.this$1.this$0.listBox, this.this$1.this$0.listBox.element.selectedIndex))) {
      $SaveToMem(this.this$1.this$0, $getItem_0(local_0, 'HabitatFile' + j));
      j = this.this$1.this$0.size_0;
    }
  }
  $hide_4(this.val$popUp);
}
;
_.this$1 = null;
_.val$popUp = null;
function HabitatConfigurationGUI$1$4_0(val$popUp){
  this.val$popUp = val$popUp;
}

defineSeed(642, 1, makeCastMap([Q$ClickHandler, Q$EventHandler]), HabitatConfigurationGUI$1$4_0);
_.onClick_0 = function onClick_9(event_0){
  $hide_4(this.val$popUp);
}
;
_.val$popUp = null;
function HabitatConfigurationGUI$2_0(this$0){
  this.this$0 = this$0;
}

defineSeed(643, 1, makeCastMap([Q$ClickHandler, Q$EventHandler]), HabitatConfigurationGUI$2_0);
_.onClick_0 = function onClick_10(event_0){
  var hPanel, noBtn, popPanel, popUp, yesBtn;
  if (this.this$0.listBox.element.options.length > 0 && $getItem_0(($clinit_Main() , $clinit_Main() , local_0), 'Habitat Save') != null) {
    if ($isFileSelected(this.this$0)) {
      popUp = new DialogBox_0;
      popPanel = new VerticalPanel_0;
      hPanel = new HorizontalPanel_0;
      noBtn = new Button_2('no');
      noBtn.element.style['width'] = '50px';
      yesBtn = new Button_2('yes');
      yesBtn.element.style['width'] = '50px';
      $add_8(popPanel, new HTML_1('<center>Load this file?<\/center>'));
      $insert_1(popPanel, hPanel, popPanel.items.size_0);
      $setWidget_0(popUp.decPanel, popPanel);
      $maybeUpdateSize(popUp);
      $insert_1(hPanel, yesBtn, hPanel.items.size_0);
      $insert_1(hPanel, noBtn, hPanel.items.size_0);
      $setPopupPosition(popUp, 400, 100);
      $setHorizontalAlign_0(popPanel, ($clinit_Style$HorizontalAlignment() , CENTER));
      $setHorizontalAlign(hPanel, CENTER);
      !popUp.resizeHandlerRegistration && (popUp.resizeHandlerRegistration = addResizeHandler(new DialogBox$1_0(popUp)));
      $show_3(popUp);
      add_7(yesBtn, new HabitatConfigurationGUI$2$1_0(this, popUp));
      $addDomHandler(noBtn, new HabitatConfigurationGUI$2$2_0(popUp), ($clinit_ClickEvent() , $clinit_ClickEvent() , TYPE));
    }
     else 
      alert_0('No file is selected!');
  }
   else 
    alert_0('No files to load!');
}
;
_.this$0 = null;
--></script>
<script><!--
function HabitatConfigurationGUI$2$1_0(this$1, val$popUp){
  this.this$1 = this$1;
  this.val$popUp = val$popUp;
}

defineSeed(644, 1, makeCastMap([Q$ClickListener]), HabitatConfigurationGUI$2$1_0);
_.onClick_1 = function onClick_11(sender){
  $LoadFromMem(this.this$1.this$0, $getItemText(this.this$1.this$0.listBox, this.this$1.this$0.listBox.element.selectedIndex));
  $hide_4(this.val$popUp);
}
;
_.this$1 = null;
_.val$popUp = null;
function HabitatConfigurationGUI$2$2_0(val$popUp){
  this.val$popUp = val$popUp;
}

defineSeed(645, 1, makeCastMap([Q$ClickHandler, Q$EventHandler]), HabitatConfigurationGUI$2$2_0);
_.onClick_0 = function onClick_12(event_0){
  $hide_4(this.val$popUp);
}
;
_.val$popUp = null;
function HabitatConfigurationGUI$3_0(this$0){
  this.this$0 = this$0;
}

defineSeed(646, 1, makeCastMap([Q$ClickHandler, Q$EventHandler]), HabitatConfigurationGUI$3_0);
_.onClick_0 = function onClick_13(event_0){
  var hPanel, noBtn, popPanel, popUp, yesBtn;
  if (this.this$0.listBox.element.options.length > 0) {
    if ($isFileSelected(this.this$0)) {
      popUp = new DialogBox_0;
      popPanel = new VerticalPanel_0;
      hPanel = new HorizontalPanel_0;
      noBtn = new Button_2('no');
      noBtn.element.style['width'] = '50px';
      yesBtn = new Button_2('yes');
      yesBtn.element.style['width'] = '50px';
      $add_8(popPanel, new HTML_1('<center>Delete this file?<\/center>'));
      $insert_1(popPanel, hPanel, popPanel.items.size_0);
      $setWidget_0(popUp.decPanel, popPanel);
      $maybeUpdateSize(popUp);
      $insert_1(hPanel, yesBtn, hPanel.items.size_0);
      $insert_1(hPanel, noBtn, hPanel.items.size_0);
      $setPopupPosition(popUp, 400, 100);
      $setHorizontalAlign_0(popPanel, ($clinit_Style$HorizontalAlignment() , CENTER));
      $setHorizontalAlign(hPanel, CENTER);
      !popUp.resizeHandlerRegistration && (popUp.resizeHandlerRegistration = addResizeHandler(new DialogBox$1_0(popUp)));
      $show_3(popUp);
      add_7(yesBtn, new HabitatConfigurationGUI$3$1_0(this, popUp));
      $addDomHandler(noBtn, new HabitatConfigurationGUI$3$2_0(popUp), ($clinit_ClickEvent() , $clinit_ClickEvent() , TYPE));
    }
     else 
      alert_0('No file is selected');
  }
   else 
    alert_0('No files to delete');
}
;
_.this$0 = null;
function HabitatConfigurationGUI$3$1_0(this$1, val$popUp){
  this.this$1 = this$1;
  this.val$popUp = val$popUp;
}

defineSeed(647, 1, makeCastMap([Q$ClickListener]), HabitatConfigurationGUI$3$1_0);
_.onClick_1 = function onClick_14(sender){
  var fileName, i, j, k, l_0, size;
  for (j = 0; j < 2; ++j) {
    for (i = 0; i < this.this$1.this$0.size_0; ++i) {
      if ($equals_2($getItem_0(($clinit_Main() , $clinit_Main() , local_0), 'HabitatFile' + i), $getItemText(this.this$1.this$0.listBox, this.this$1.this$0.listBox.element.selectedIndex))) {
        for (l_0 = 0; l_0 < 10; ++l_0) {
          size = __parseAndValidateInt($getItem_0(local_0, $getItemText(this.this$1.this$0.listBox, this.this$1.this$0.listBox.element.selectedIndex) + 'Habitat' + l_0 + '' + j), 10);
          for (k = 0; k < size; ++k) {
            fileName = $getItemText(this.this$1.this$0.listBox, this.this$1.this$0.listBox.element.selectedIndex);
            $removeItem(local_0, fileName + 'G_ModuleType' + l_0 + '' + k + '' + j);
            $removeItem(local_0, fileName + 'G_ModuleCode' + l_0 + '' + k + '' + j);
            $removeItem(local_0, fileName + 'G_ModulePosX' + l_0 + '' + k + '' + j);
            $removeItem(local_0, fileName + 'G_ModulePosY' + l_0 + '' + k + '' + j);
            $removeItem(local_0, fileName + 'GX_ModulePosX' + l_0 + '' + k + '' + j);
            $removeItem(local_0, fileName + 'GX_ModulePosY' + l_0 + '' + k + '' + j);
            $removeItem(local_0, fileName + 'G_ModuleStat' + l_0 + '' + k + '' + j);
            $removeItem(local_0, fileName + 'G_ModuleOrient' + l_0 + '' + k + '' + j);
          }
          $removeItem(local_0, $getItemText(this.this$1.this$0.listBox, this.this$1.this$0.listBox.element.selectedIndex) + 'Habitat' + l_0 + '' + j);
        }
        --this.this$1.this$0.size_0;
        this.this$1.this$0.size_0 == 0 && $removeItem(local_0, 'Habitat Save');
        $setItem(local_0, 'Habitat Size', '' + this.this$1.this$0.size_0);
        $removeItem(local_0, 'HabitatFile' + i);
        $removeItem_1(this.this$1.this$0.listBox, this.this$1.this$0.listBox.element.selectedIndex);
        i = $getLength(local_0.storage);
      }
    }
  }
  $hide_4(this.val$popUp);
}
;
_.this$1 = null;
_.val$popUp = null;
function HabitatConfigurationGUI$3$2_0(val$popUp){
  this.val$popUp = val$popUp;
}

defineSeed(648, 1, makeCastMap([Q$ClickHandler, Q$EventHandler]), HabitatConfigurationGUI$3$2_0);
_.onClick_0 = function onClick_15(event_0){
  $hide_4(this.val$popUp);
}
;
_.val$popUp = null;
function $initAction(this$static){
  var count, done, k;
  if ($getLength(($clinit_Main() , $clinit_Main() , local_0).storage) > 0 && $getItem_0(local_0, 'Save') != null) {
    this$static.size_0 = __parseAndValidateInt($getItem_0(local_0, 'Save Size'), 10);
    done = false;
    count = 0;
    for (k = 0; !done; ++k) {
      if ($getItem_0(local_0, 'SaveFile' + k) != null) {
        $insertItem(this$static.listBox, $getItem_0(local_0, 'SaveFile' + k));
        ++count;
        count == this$static.size_0 && (done = true);
      }
    }
  }
   else {
    this$static.size_0 = 0;
  }
  $addDomHandler(this$static.btnSaveFile, new LoadSaveModuleDetailGUI$1_0(this$static), ($clinit_ClickEvent() , $clinit_ClickEvent() , TYPE));
  $addDomHandler(this$static.btnLoadFile, new LoadSaveModuleDetailGUI$2_0(this$static), TYPE);
  $addDomHandler(this$static.btnDeleteFile, new LoadSaveModuleDetailGUI$3_0(this$static), TYPE);
}

function $isFileSelected_0(this$static){
  var i;
  for (i = 0; i < this$static.listBox.element.options.length; ++i) {
    if ($isItemSelected(this$static.listBox, i)) {
      return true;
    }
  }
  return false;
}

function $loadFromMem(fileName){
  var i, j, m_0, mSize, mType, number;
  for (i = 0; i <= ($clinit_ModuleList() , mList).size_0; ++i) {
    $removeAllRows(($clinit_LoggingModuleGUI() , modulesFlexTableAll)[i]);
    $setHTML_0(modulesFlexTableAll[i], 0, 0, '<center><font size="1">Code Number<\/font><\/center>');
    $setHTML_0(modulesFlexTableAll[i], 0, 1, '<center><font size="1">Position<\/font><\/center>');
    $setHTML_0(modulesFlexTableAll[i], 0, 2, '<center><font size="1">Status<\/font><\/center>');
    $setHTML_0(modulesFlexTableAll[i], 0, 3, '<center><font size="1">Orientation<\/font><\/center>');
    $setHTML_0(modulesFlexTableAll[i], 0, 4, '<font size="1">Delete<\/font>');
  }
  initHistogram();
  for (i = 0; i < mList.size_0; ++i) {
    $clear_1(dynamicCast($get_6(mList, i), Q$ArrayList));
    mSize = __parseAndValidateInt($trim($getItem_0(($clinit_Main() , $clinit_Main() , local_0), fileName + 'Module' + i)), 10);
    for (j = 0; j < mSize; ++j) {
      number = __parseAndValidateInt($getItem_0(local_0, fileName + 'ModuleType' + i + '' + j), 10);
      mType = checkModuleType(number);
      m_0 = new Module_0(mType, getModuleImage(mType.ordinal));
      $setCodeNumber(m_0, __parseAndValidateInt($getItem_0(local_0, fileName + 'ModuleCode' + i + '' + j), 10));
      $setPositionX(m_0, __parseAndValidateInt($getItem_0(local_0, fileName + 'ModulePosX' + i + '' + j), 10));
      $setPositionY(m_0, __parseAndValidateInt($getItem_0(local_0, fileName + 'ModulePosY' + i + '' + j), 10));
      $setStats(m_0, $getItem_0(local_0, fileName + 'ModuleStat' + i + '' + j));
      $setOrientation(m_0, __parseAndValidateInt($getItem_0(local_0, fileName + 'ModuleOrient' + i + '' + j), 10));
      $add_17(dynamicCast($get_6(mList, i), Q$ArrayList), m_0);
      TableInit(m_0);
    }
  }
  $setHTML(($clinit_LoggingModuleGUI() , totalM), 'Total Module(s):' + getTotalModules() + '&nbsp&nbsp&nbsp&nbsp usable:' + getTotalUsableCount() + '&nbsp&nbsp&nbsp&nbsp usable After Repair:' + getTotalUsableAfterRepairCount() + '&nbsp&nbsp&nbsp&nbsp Beyond Repair:' + getTotalBeyondRepairCount());
  initMap();
}

function $saveToMem(fileName){
  var i, j;
  for (i = 0; i < ($clinit_ModuleList() , mList).size_0; ++i) {
    $setItem(($clinit_Main() , $clinit_Main() , local_0), fileName + 'Module' + i, '' + dynamicCast($get_6(mList, i), Q$ArrayList).size_0);
    for (j = 0; j < dynamicCast($get_6(mList, i), Q$ArrayList).size_0; ++j) {
      $setItem(local_0, fileName + 'ModuleType' + i + '' + j, '' + dynamicCast($get_6(dynamicCast($get_6(mList, i), Q$ArrayList), j), Q$Module).moduleType.ordinal);
      $setItem(local_0, fileName + 'ModuleCode' + i + '' + j, '' + dynamicCast($get_6(dynamicCast($get_6(mList, i), Q$ArrayList), j), Q$Module).codeNumber);
      $setItem(local_0, fileName + 'ModulePosX' + i + '' + j, '' + dynamicCast($get_6(dynamicCast($get_6(mList, i), Q$ArrayList), j), Q$Module).positionx);
      $setItem(local_0, fileName + 'ModulePosY' + i + '' + j, '' + dynamicCast($get_6(dynamicCast($get_6(mList, i), Q$ArrayList), j), Q$Module).positiony);
      $setItem(local_0, fileName + 'ModuleStat' + i + '' + j, dynamicCast($get_6(dynamicCast($get_6(mList, i), Q$ArrayList), j), Q$Module).stats);
      $setItem(local_0, fileName + 'ModuleOrient' + i + '' + j, '' + dynamicCast($get_6(dynamicCast($get_6(mList, i), Q$ArrayList), j), Q$Module).orientation);
    }
  }
}

function LoadSaveModuleDetailGUI_0(){
  var horizontalPanel, htmlSaveloadModuleDetails, htmlfileName, htmlpreviousSavedFiles, vertPanel1, verticalPanel2;
  this.verticalPanel = new VerticalPanel_2;
  this.listBox = new ListBox_0;
  this.btnDeleteFile = new Button_2('Delete File');
  this.btnLoadFile = new Button_2('Load File');
  this.btnSaveFile = new Button_2('Save File');
  this.textBox = new TextBox_0;
  $setSize_1(this.verticalPanel, '340px', '162px');
  htmlSaveloadModuleDetails = new HTML_2('<center><b>Save/Load Logged Module Details<\/b><\/center>');
  $add_18(this.verticalPanel, htmlSaveloadModuleDetails);
  horizontalPanel = new HorizontalPanel_2;
  $add_18(this.verticalPanel, horizontalPanel);
  horizontalPanel.element.style['width'] = '339px';
  horizontalPanel.element.style['height'] = '99px';
  vertPanel1 = new VerticalPanel_2;
  $setHorizontalAlignment_1(vertPanel1, ($clinit_HasHorizontalAlignment() , ALIGN_CENTER));
  $add_15(horizontalPanel, vertPanel1);
  htmlfileName = new HTML_2('<center>File name:<\/center>');
  $add_18(vertPanel1, htmlfileName);
  $setAlignment_0(this.textBox, $clinit_ValueBoxBase$TextAlignment());
  $add_18(vertPanel1, this.textBox);
  $setWidth_0(this.textBox, '142px');
  $setTitle(this.textBox, 'Enter new save file name');
  $add_18(vertPanel1, this.btnSaveFile);
  $setWidth_0(this.btnSaveFile, '150px');
  $add_18(vertPanel1, this.btnLoadFile);
  $setWidth_0(this.btnLoadFile, '150px');
  $add_18(vertPanel1, this.btnDeleteFile);
  $setWidth_0(this.btnDeleteFile, '150px');
  verticalPanel2 = new VerticalPanel_2;
  $add_15(horizontalPanel, verticalPanel2);
  htmlpreviousSavedFiles = new HTML_2('<center>Previous saved file(s)<\/center>');
  $add_18(verticalPanel2, htmlpreviousSavedFiles);
  $add_18(verticalPanel2, this.listBox);
  $setSize_1(this.listBox, '125px', '95px');
  this.listBox.element.size = 5;
  $initAction(this);
}

defineSeed(649, 1, {}, LoadSaveModuleDetailGUI_0);
_.size_0 = 0;
function LoadSaveModuleDetailGUI$1_0(this$0){
  this.this$0 = this$0;
}

defineSeed(650, 1, makeCastMap([Q$ClickHandler, Q$EventHandler]), LoadSaveModuleDetailGUI$1_0);
_.onClick_0 = function onClick_16(event_0){
  var hPanel, i, noBtn, popPanel, popUp, yesBtn;
  for (i = 0; i < this.this$0.listBox.element.options.length; ++i) {
    if ($equals_2($getItemText(this.this$0.listBox, i), $getPropertyString(this.this$0.textBox.element, 'value'))) {
      alert_0('Please select a unique file name!');
      return;
    }
  }
  if ($getPropertyString(this.this$0.textBox.element, 'value').length > 20) {
    alert_0('Filename must be less than 19 characters.');
  }
   else if ($getPropertyString(this.this$0.textBox.element, 'value').length > 0 && $getPropertyString(this.this$0.textBox.element, 'value').length < 20) {
    popUp = new DialogBox_0;
    popPanel = new VerticalPanel_0;
    hPanel = new HorizontalPanel_2;
    noBtn = new Button_2('no');
    noBtn.element.style['width'] = '50px';
    yesBtn = new Button_2('yes');
    yesBtn.element.style['width'] = '50px';
    $add_8(popPanel, new HTML_1('<center>Save new file?<\/center>'));
    $insert_1(popPanel, hPanel, popPanel.items.size_0);
    $setWidget_0(popUp.decPanel, popPanel);
    $maybeUpdateSize(popUp);
    $add_15(hPanel, yesBtn);
    $add_15(hPanel, noBtn);
    $setPopupPosition(popUp, 400, 100);
    $setHorizontalAlign_0(popPanel, ($clinit_Style$HorizontalAlignment() , CENTER));
    $setHorizontalAlignment_0(hPanel, ($clinit_HasHorizontalAlignment() , ALIGN_CENTER));
    !popUp.resizeHandlerRegistration && (popUp.resizeHandlerRegistration = addResizeHandler(new DialogBox$1_0(popUp)));
    $show_3(popUp);
    add_7(yesBtn, new LoadSaveModuleDetailGUI$1$1_0(this, popUp));
    $addDomHandler(noBtn, new LoadSaveModuleDetailGUI$1$2_0(popUp), ($clinit_ClickEvent() , $clinit_ClickEvent() , TYPE));
  }
   else if ($getPropertyString(this.this$0.textBox.element, 'value').length == 0 && this.this$0.listBox.element.options.length > 0 && $isFileSelected_0(this.this$0)) {
    popUp = new DialogBox_0;
    popPanel = new VerticalPanel_0;
    hPanel = new HorizontalPanel_2;
    noBtn = new Button_2('no');
    noBtn.element.style['width'] = '50px';
    yesBtn = new Button_2('yes');
    yesBtn.element.style['width'] = '50px';
    $add_8(popPanel, new HTML_1('<center>Overwrite file?<\/center>'));
    $insert_1(popPanel, hPanel, popPanel.items.size_0);
    $setWidget_0(popUp.decPanel, popPanel);
    $maybeUpdateSize(popUp);
    $add_15(hPanel, yesBtn);
    $add_15(hPanel, noBtn);
    $setPopupPosition(popUp, 400, 100);
    $setHorizontalAlign_0(popPanel, ($clinit_Style$HorizontalAlignment() , CENTER));
    $setHorizontalAlignment_0(hPanel, ($clinit_HasHorizontalAlignment() , ALIGN_CENTER));
    !popUp.resizeHandlerRegistration && (popUp.resizeHandlerRegistration = addResizeHandler(new DialogBox$1_0(popUp)));
    $show_3(popUp);
    add_7(yesBtn, new LoadSaveModuleDetailGUI$1$3_0(this, popUp));
    $addDomHandler(noBtn, new LoadSaveModuleDetailGUI$1$4_0(popUp), ($clinit_ClickEvent() , $clinit_ClickEvent() , TYPE));
  }
   else {
    alert_0('Please enter in a new save file name');
  }
}
;
_.this$0 = null;
function LoadSaveModuleDetailGUI$1$1_0(this$1, val$popUp){
  this.this$1 = this$1;
  this.val$popUp = val$popUp;
}

defineSeed(651, 1, makeCastMap([Q$ClickListener]), LoadSaveModuleDetailGUI$1$1_0);
_.onClick_1 = function onClick_17(sender){
  $setItem(($clinit_Main() , $clinit_Main() , local_0), 'SaveFile' + this.this$1.this$0.size_0, $getPropertyString(this.this$1.this$0.textBox.element, 'value'));
  ++this.this$1.this$0.size_0;
  $setItem(local_0, 'Save Size', '' + this.this$1.this$0.size_0);
  $setItem(local_0, 'Save', 'Yes');
  $saveToMem($getPropertyString(this.this$1.this$0.textBox.element, 'value'));
  $insertItem(this.this$1.this$0.listBox, $getPropertyString(this.this$1.this$0.textBox.element, 'value'));
  this.this$1.this$0.textBox.element['value'] = '';
  $hide_4(this.val$popUp);
}
;
_.this$1 = null;
_.val$popUp = null;
function LoadSaveModuleDetailGUI$1$2_0(val$popUp){
  this.val$popUp = val$popUp;
}

defineSeed(652, 1, makeCastMap([Q$ClickHandler, Q$EventHandler]), LoadSaveModuleDetailGUI$1$2_0);
_.onClick_0 = function onClick_18(event_0){
  $hide_4(this.val$popUp);
}
;
_.val$popUp = null;
function LoadSaveModuleDetailGUI$1$3_0(this$1, val$popUp){
  this.this$1 = this$1;
  this.val$popUp = val$popUp;
}

defineSeed(653, 1, makeCastMap([Q$ClickListener]), LoadSaveModuleDetailGUI$1$3_0);
_.onClick_1 = function onClick_19(sender){
  var j;
  for (j = 0; j < this.this$1.this$0.size_0; ++j) {
    if ($equals_2($getItem_0(($clinit_Main() , $clinit_Main() , local_0), 'SaveFile' + j), $getItemText(this.this$1.this$0.listBox, this.this$1.this$0.listBox.element.selectedIndex))) {
      $saveToMem($getItem_0(local_0, 'SaveFile' + j));
      j = this.this$1.this$0.size_0;
    }
  }
  $hide_4(this.val$popUp);
}
;
_.this$1 = null;
_.val$popUp = null;
function LoadSaveModuleDetailGUI$1$4_0(val$popUp){
  this.val$popUp = val$popUp;
}

defineSeed(654, 1, makeCastMap([Q$ClickHandler, Q$EventHandler]), LoadSaveModuleDetailGUI$1$4_0);
_.onClick_0 = function onClick_20(event_0){
  $hide_4(this.val$popUp);
}
;
_.val$popUp = null;
function LoadSaveModuleDetailGUI$2_0(this$0){
  this.this$0 = this$0;
}

defineSeed(655, 1, makeCastMap([Q$ClickHandler, Q$EventHandler]), LoadSaveModuleDetailGUI$2_0);
_.onClick_0 = function onClick_21(event_0){
  var hPanel, noBtn, popPanel, popUp, yesBtn;
  if (this.this$0.listBox.element.options.length > 0 && $getItem_0(($clinit_Main() , $clinit_Main() , local_0), 'Save') != null) {
    if ($isFileSelected_0(this.this$0)) {
      popUp = new DialogBox_0;
      popPanel = new VerticalPanel_0;
      hPanel = new HorizontalPanel_2;
      noBtn = new Button_2('no');
      noBtn.element.style['width'] = '50px';
      yesBtn = new Button_2('yes');
      yesBtn.element.style['width'] = '50px';
      $add_8(popPanel, new HTML_1('<center>Load this file?<\/center>'));
      $insert_1(popPanel, hPanel, popPanel.items.size_0);
      $setWidget_0(popUp.decPanel, popPanel);
      $maybeUpdateSize(popUp);
      $add_15(hPanel, yesBtn);
      $add_15(hPanel, noBtn);
      $setPopupPosition(popUp, 400, 100);
      $setHorizontalAlign_0(popPanel, ($clinit_Style$HorizontalAlignment() , CENTER));
      $setHorizontalAlignment_0(hPanel, ($clinit_HasHorizontalAlignment() , ALIGN_CENTER));
      !popUp.resizeHandlerRegistration && (popUp.resizeHandlerRegistration = addResizeHandler(new DialogBox$1_0(popUp)));
      $show_3(popUp);
      add_7(yesBtn, new LoadSaveModuleDetailGUI$2$1_0(this, popUp));
      $addDomHandler(noBtn, new LoadSaveModuleDetailGUI$2$2_0(popUp), ($clinit_ClickEvent() , $clinit_ClickEvent() , TYPE));
    }
     else {
      alert_0('No file is selected!');
    }
  }
   else {
    alert_0('No files to load!');
  }
}
;
_.this$0 = null;
function LoadSaveModuleDetailGUI$2$1_0(this$1, val$popUp){
  this.this$1 = this$1;
  this.val$popUp = val$popUp;
}

defineSeed(656, 1, makeCastMap([Q$ClickListener]), LoadSaveModuleDetailGUI$2$1_0);
_.onClick_1 = function onClick_22(sender){
  $loadFromMem($getItemText(this.this$1.this$0.listBox, this.this$1.this$0.listBox.element.selectedIndex));
  $hide_4(this.val$popUp);
}
;
_.this$1 = null;
_.val$popUp = null;
function LoadSaveModuleDetailGUI$2$2_0(val$popUp){
  this.val$popUp = val$popUp;
}

defineSeed(657, 1, makeCastMap([Q$ClickHandler, Q$EventHandler]), LoadSaveModuleDetailGUI$2$2_0);
_.onClick_0 = function onClick_23(event_0){
  $hide_4(this.val$popUp);
}
;
_.val$popUp = null;
function LoadSaveModuleDetailGUI$3_0(this$0){
  this.this$0 = this$0;
}

defineSeed(658, 1, makeCastMap([Q$ClickHandler, Q$EventHandler]), LoadSaveModuleDetailGUI$3_0);
_.onClick_0 = function onClick_24(event_0){
  var hPanel, noBtn, popPanel, popUp, yesBtn;
  if (this.this$0.listBox.element.options.length > 0) {
    if ($isFileSelected_0(this.this$0)) {
      popUp = new DialogBox_0;
      popPanel = new VerticalPanel_0;
      hPanel = new HorizontalPanel_2;
      noBtn = new Button_2('no');
      noBtn.element.style['width'] = '50px';
      yesBtn = new Button_2('yes');
      yesBtn.element.style['width'] = '50px';
      $add_8(popPanel, new HTML_1('<center>Delete this file?<\/center>'));
      $insert_1(popPanel, hPanel, popPanel.items.size_0);
      $setWidget_0(popUp.decPanel, popPanel);
      $maybeUpdateSize(popUp);
      $add_15(hPanel, yesBtn);
      $add_15(hPanel, noBtn);
      $setPopupPosition(popUp, 400, 100);
      $setHorizontalAlign_0(popPanel, ($clinit_Style$HorizontalAlignment() , CENTER));
      $setHorizontalAlignment_0(hPanel, ($clinit_HasHorizontalAlignment() , ALIGN_CENTER));
      !popUp.resizeHandlerRegistration && (popUp.resizeHandlerRegistration = addResizeHandler(new DialogBox$1_0(popUp)));
      $show_3(popUp);
      add_7(yesBtn, new LoadSaveModuleDetailGUI$3$1_0(this, popUp));
      $addDomHandler(noBtn, new LoadSaveModuleDetailGUI$3$2_0(popUp), ($clinit_ClickEvent() , $clinit_ClickEvent() , TYPE));
    }
     else {
      alert_0('No file is selected');
    }
  }
   else {
    alert_0('No files to delete');
  }
}
;
_.this$0 = null;
function LoadSaveModuleDetailGUI$3$1_0(this$1, val$popUp){
  this.this$1 = this$1;
  this.val$popUp = val$popUp;
}

defineSeed(659, 1, makeCastMap([Q$ClickListener]), LoadSaveModuleDetailGUI$3$1_0);
_.onClick_1 = function onClick_25(sender){
  var fileName, i, k, l_0, size;
  for (i = 0; i < this.this$1.this$0.size_0; ++i) {
    if ($equals_2($getItem_0(($clinit_Main() , $clinit_Main() , local_0), 'SaveFile' + i), $getItemText(this.this$1.this$0.listBox, this.this$1.this$0.listBox.element.selectedIndex))) {
      for (l_0 = 0; l_0 < ($clinit_ModuleList() , mList).size_0; ++l_0) {
        size = __parseAndValidateInt($getItem_0(local_0, $getItemText(this.this$1.this$0.listBox, this.this$1.this$0.listBox.element.selectedIndex) + 'Module' + l_0), 10);
        for (k = 0; k < size; ++k) {
          fileName = $getItemText(this.this$1.this$0.listBox, this.this$1.this$0.listBox.element.selectedIndex);
          $removeItem(local_0, fileName + 'Module Type:' + l_0 + ' ' + k);
          $removeItem(local_0, fileName + 'Module Code Number:' + l_0 + ' ' + k);
          $removeItem(local_0, fileName + 'Module X Posistion:' + l_0 + ' ' + k);
          $removeItem(local_0, fileName + 'Module Y Posistion:' + l_0 + ' ' + k);
          $removeItem(local_0, fileName + 'Module Status:' + l_0 + ' ' + k);
          $removeItem(local_0, fileName + 'Module Orientation:' + l_0 + ' ' + k);
        }
        $removeItem(local_0, $getItemText(this.this$1.this$0.listBox, this.this$1.this$0.listBox.element.selectedIndex) + 'Module' + l_0);
      }
      --this.this$1.this$0.size_0;
      if (this.this$1.this$0.size_0 == 0) {
        $removeItem(local_0, 'Save');
        $setItem(local_0, 'Save Size', ' ' + this.this$1.this$0.size_0);
        $removeItem(local_0, 'SaveFile' + i);
        $removeItem_1(this.this$1.this$0.listBox, this.this$1.this$0.listBox.element.selectedIndex);
        i = $getLength(local_0.storage);
      }
    }
  }
  $hide_4(this.val$popUp);
}
;
_.this$1 = null;
_.val$popUp = null;
function LoadSaveModuleDetailGUI$3$2_0(val$popUp){
  this.val$popUp = val$popUp;
}

defineSeed(660, 1, makeCastMap([Q$ClickHandler, Q$EventHandler]), LoadSaveModuleDetailGUI$3$2_0);
_.onClick_0 = function onClick_26(event_0){
  $hide_4(this.val$popUp);
}
;
_.val$popUp = null;
function $clinit_LoggingModuleGUI(){
  $clinit_LoggingModuleGUI = nullMethod;
  configurationLabel_0 = new HTML_2('<center><font color ="black"> <marquee behavior="scroll" direction="right"><b>No possible configuration, yet<\/b><\/center><\/font><\/marquee>');
  m_button = initDim(_3Lcom_google_gwt_user_client_ui_ToggleButton_2_classLit, makeCastMap([Q$HasAllDragAndDropHandlers_$1, Q$HasAllGestureHandlers_$1, Q$HasAllMouseHandlers_$1, Q$HasAllTouchHandlers_$1, Q$HasClickHandlers_$1, Q$HasDoubleClickHandlers_$1, Q$HasDragEndHandlers_$1, Q$HasDragEnterHandlers_$1, Q$HasDragHandlers_$1, Q$HasDragLeaveHandlers_$1, Q$HasDragOverHandlers_$1, Q$HasDragStartHandlers_$1, Q$HasDropHandlers_$1, Q$HasGestureChangeHandlers_$1, Q$HasGestureEndHandlers_$1, Q$HasGestureStartHandlers_$1, Q$HasMouseDownHandlers_$1, Q$HasMouseMoveHandlers_$1, Q$HasMouseOutHandlers_$1, Q$HasMouseOverHandlers_$1, Q$HasMouseUpHandlers_$1, Q$HasMouseWheelHandlers_$1, Q$HasTouchCancelHandlers_$1, Q$HasTouchEndHandlers_$1, Q$HasTouchMoveHandlers_$1, Q$HasTouchStartHandlers_$1, Q$HasAttachHandlers_$1, Q$HasHandlers_$1, Q$EventListener_$1, Q$HasVisibility_$1, Q$IsWidget_$1, Q$SourcesClickEvents_$1, Q$SourcesMouseEvents_$1, Q$UIObject_$1, Q$Widget_$1, Q$Serializable, Q$Object_$1]), Q$ToggleButton, 10, 0);
  codeNum = new TextBox_0;
  posx = new TextBox_0;
  posy = new TextBox_0;
  histogram = new Grid_0(10, 2);
  moduleHisto = initDim(_3Lcom_google_gwt_user_client_ui_HorizontalPanel_2_classLit, makeCastMap([Q$HasAttachHandlers_$1, Q$HasHandlers_$1, Q$EventListener_$1, Q$HasVisibility_$1, Q$IsWidget_$1, Q$UIObject_$1, Q$Widget_$1, Q$Serializable, Q$Object_$1]), Q$HorizontalPanel_0, 10, 0);
  modulesFlexTableAll = initDim(_3Lcom_google_gwt_user_client_ui_FlexTable_2_classLit, makeCastMap([Q$HasAllDragAndDropHandlers_$1, Q$HasClickHandlers_$1, Q$HasDoubleClickHandlers_$1, Q$HasDragEndHandlers_$1, Q$HasDragEnterHandlers_$1, Q$HasDragHandlers_$1, Q$HasDragLeaveHandlers_$1, Q$HasDragOverHandlers_$1, Q$HasDragStartHandlers_$1, Q$HasDropHandlers_$1, Q$HasAttachHandlers_$1, Q$HasHandlers_$1, Q$EventListener_$1, Q$HasVisibility_$1, Q$IsWidget_$1, Q$UIObject_$1, Q$Widget_$1, Q$Serializable, Q$Object_$1]), Q$FlexTable, 11, 0);
  totalM = new HTML_1('');
  currentM = new HTML_0;
}

function $InitTable(){
  var i;
  for (i = 0; i <= ($clinit_ModuleList() , mList).size_0; ++i) {
    modulesFlexTableAll[i] = new FlexTable_0;
    $setWidth_0(modulesFlexTableAll[i], '330px');
    modulesFlexTableAll[i].tableElem['cellPadding'] = 1;
    modulesFlexTableAll[i].tableElem['cellSpacing'] = 3;
    $setHTML_0(modulesFlexTableAll[i], 0, 0, '<center><font size="1">Code Number<\/font><\/center>');
    $setHTML_0(modulesFlexTableAll[i], 0, 1, '<center><font size="1">Position<\/font><\/center>');
    $setHTML_0(modulesFlexTableAll[i], 0, 2, '<center><font size="1">Status<\/font><\/center>');
    $setHTML_0(modulesFlexTableAll[i], 0, 3, '<center><font size="1">Orientation<\/font><\/center>');
    $setHTML_0(modulesFlexTableAll[i], 0, 4, '<font size="1">Delete<\/font>');
  }
}

function $initModuleButtons(this$static){
  var i;
  m_button[0] = new ToggleButton_0('Plain');
  m_button[1] = new ToggleButton_0('Control');
  m_button[2] = new ToggleButton_0('Power');
  m_button[3] = new ToggleButton_0('Food & Water');
  m_button[4] = new ToggleButton_0('Dormitory');
  m_button[5] = new ToggleButton_0('Canteen');
  m_button[6] = new ToggleButton_0('Sanitation');
  m_button[7] = new ToggleButton_0('Gym & Relaxation');
  m_button[8] = new ToggleButton_0('Airlock');
  m_button[9] = new ToggleButton_0('Medical');
  for (i = 0; i < 10; ++i) {
    $setWidth_0(m_button[i], '120px');
    i < 5?$add_15(this$static.btnHPanel, m_button[i]):$add_15(this$static.btnHPanel2, m_button[i]);
    $addDomHandler(m_button[i], new LoggingModuleGUI$8_0(this$static, i), ($clinit_ClickEvent() , $clinit_ClickEvent() , TYPE));
  }
}

function $turnOn(this$static, enable){
  $setEnabled_0(codeNum, enable);
  codeNum.element['value'] = '';
  posx.element['value'] = '';
  posy.element['value'] = '';
  $setEnabled_0(posx, enable);
  $setEnabled_0(posy, enable);
  $setEnabled_0(this$static.status_0, enable);
  $setEnabled_0(this$static.orientation, enable);
  $setEnabled_1(this$static.addUpdateBtn, enable);
  $setEnabled_1(this$static.clrBtn, enable);
}

function $verify(this$static){
  var i, j;
  for (i = 0; i < ($clinit_ModuleList() , mList).size_0; ++i) {
    for (j = 0; j < dynamicCast($get_6(mList, i), Q$ArrayList).size_0; ++j) {
      if (dynamicCast($get_6(dynamicCast($get_6(mList, i), Q$ArrayList), j), Q$Module).codeNumber == __parseAndValidateInt($getPropertyString(codeNum.element, 'value'), 10) && i != this$static.moduleType.ordinal) {
        alert_0('Error: A Different type of module already has this Code Number');
        codeNum.element['value'] = '';
        return false;
      }
      if (dynamicCast($get_6(dynamicCast($get_6(mList, i), Q$ArrayList), j), Q$Module).positionx == __parseAndValidateInt($getPropertyString(posx.element, 'value'), 10) && dynamicCast($get_6(dynamicCast($get_6(mList, i), Q$ArrayList), j), Q$Module).positiony == __parseAndValidateInt($getPropertyString(posy.element, 'value'), 10)) {
        alert_0('Error: Another Module is already at this x and y position');
        return false;
      }
    }
  }
  return true;
}

--></script>
<script><!--
function LoggingModuleGUI_0(){
  $clinit_LoggingModuleGUI();
  var lsMD;
  this.loggingModuleMain = new VerticalPanel_0;
  this.logHPanel = new HorizontalPanel_2;
  this.logVPanel = new VerticalPanel_0;
  this.btnVPanel = new VerticalPanel_0;
  this.btnHPanel = new HorizontalPanel_2;
  this.btnHPanel2 = new HorizontalPanel_2;
  this.buttonLabel = new HTML_1('<font size="-5"><center>Please Select a Module<\/center><\/font>');
  this.status_0 = new ListBox_0;
  this.orientation = new ListBox_0;
  this.addUpdateBtn = new ToggleButton_0('Add/Update');
  this.clrBtn = new ToggleButton_0('Clear');
  this.hPanelForThree = new HorizontalPanel_2;
  this.mapScrollPanel = new ScrollPanel_0;
  this.sTablePanel = new ScrollPanel_0;
  new GPSData_0;
  this.btnLoadGPS = new Button_2('Load GPS data');
  $InitTable();
  $setHorizontalAlign_0(this.loggingModuleMain, ($clinit_Style$HorizontalAlignment() , CENTER));
  $add_8(this.loggingModuleMain, this.btnVPanel);
  $add_8(this.btnVPanel, this.buttonLabel);
  $add_8(this.btnVPanel, this.btnHPanel);
  $add_8(this.btnVPanel, this.btnHPanel2);
  $add_8(this.loggingModuleMain, this.logHPanel);
  $setHorizontalAlignment_0(this.logHPanel, ($clinit_HasHorizontalAlignment() , ALIGN_CENTER));
  $setVerticalAlignment(this.logHPanel, ($clinit_HasVerticalAlignment() , ALIGN_TOP));
  $add_15(this.logHPanel, this.logVPanel);
  $add_15(this.logHPanel, this.sTablePanel);
  $add_8(this.loggingModuleMain, new HTML_1('<br><\/br>'));
  $add_8(this.loggingModuleMain, totalM);
  $add_8(this.loggingModuleMain, currentM);
  lsMD = new LoadSaveModuleDetailGUI_0;
  $add_8(this.loggingModuleMain, lsMD.verticalPanel);
  $setWidth_0(this.btnLoadGPS, '150px');
  $add_8(this.loggingModuleMain, this.btnLoadGPS);
  $addDomHandler(this.btnLoadGPS, new LoggingModuleGUI$1_0, ($clinit_ClickEvent() , $clinit_ClickEvent() , TYPE));
  $setHorizontalAlignment(totalM, ALIGN_CENTER);
  $setStyleName_0(totalM, 'fontSize10');
  $setHorizontalAlignment(currentM, ALIGN_CENTER);
  $setStyleName_0(currentM, 'fontSize10');
  $setHTML(totalM, 'Total Module(s):' + getTotalModules() + '&nbsp&nbsp&nbsp&nbsp usable:' + getTotalUsableCount() + '&nbsp&nbsp&nbsp&nbsp usable After Repair:' + getTotalUsableAfterRepairCount() + '&nbsp&nbsp&nbsp&nbsp Beyond Repair:' + getTotalBeyondRepairCount());
  $setHTML(currentM, 'Total XX Module(s):0&nbsp&nbsp&nbsp&nbsp&nbsp  Usable:0&nbsp&nbsp&nbsp&nbsp&nbsp  Usable After Repair:0&nbsp&nbsp&nbsp&nbsp&nbsp  Beyond Repair:0');
  $add_13(this.sTablePanel, modulesFlexTableAll[10]);
  $initModuleButtons(this);
  $setSize_4(this.sTablePanel, '350px', '240px');
  $setWidth_0(codeNum, '123px');
  $setWidth_0(posx, '123px');
  $setWidth_0(posy, '123px');
  $add_8(this.logVPanel, new HTML_1('<center><font size="1">Code Number:<\/font><\/center>'));
  $add_8(this.logVPanel, codeNum);
  $setAlignment_0(codeNum, $clinit_ValueBoxBase$TextAlignment());
  $add_8(this.logVPanel, new HTML_1('<center><font size="1">Position X:<\/font><\/center>'));
  $add_8(this.logVPanel, posx);
  $setAlignment_0(posx, $clinit_ValueBoxBase$TextAlignment());
  $add_8(this.logVPanel, new HTML_1('<center><font size="1">Position Y:<\/font><\/center>'));
  $add_8(this.logVPanel, posy);
  $setAlignment_0(posy, $clinit_ValueBoxBase$TextAlignment());
  $add_8(this.logVPanel, new HTML_1('<center><font size="1">Status:<\/font><\/center>'));
  $add_8(this.logVPanel, this.status_0);
  $add_8(this.logVPanel, new HTML_1('<font size="1">Orientation:<\/font>'));
  $add_8(this.logVPanel, this.orientation);
  $add_15(this.hPanelForThree, this.addUpdateBtn);
  $add_15(this.hPanelForThree, this.clrBtn);
  $add_8(this.logVPanel, this.hPanelForThree);
  $insertItem(this.orientation, '0');
  $insertItem(this.orientation, '1');
  $insertItem(this.orientation, '2');
  $insertItem(this.status_0, 'usable');
  $insertItem(this.status_0, 'usable after repair');
  $insertItem(this.status_0, 'beyond repair');
  initHistogram();
  $turnOn(this, false);
  initMap();
  $setSize_4(this.mapScrollPanel, '780px', '300px');
  $add_13(this.mapScrollPanel, ($clinit_MapGUI() , $clinit_MapGUI() , MAPGRID));
  $addDomHandler(this.clrBtn, new LoggingModuleGUI$6_0(this), TYPE);
  $addDomHandler(this.addUpdateBtn, new LoggingModuleGUI$7_0(this), TYPE);
  add_8(codeNum, new LoggingModuleGUI$3_0);
  add_8(posx, new LoggingModuleGUI$4_0);
  add_8(posy, new LoggingModuleGUI$5_0);
}

function TableInit(m_0){
  $clinit_LoggingModuleGUI();
  var removeModBtn, row;
  $isDown(m_button[m_0.moduleType.ordinal]) && $setHTML(currentM, 'Total ' + $getFace($getCurrentFace(m_button[m_0.moduleType.ordinal])).textContent + ' Module(s):' + getModuleTypeSize(m_0.moduleType.ordinal) + '&nbsp&nbsp&nbsp&nbsp&nbsp  Usable:' + getModuleUsable(m_0.moduleType.ordinal) + '&nbsp&nbsp&nbsp&nbsp&nbsp  Usable After Repair:' + getModuleUsableAfterRepair(m_0.moduleType.ordinal) + '&nbsp&nbsp&nbsp&nbsp&nbsp  Beyond Repair:' + getModuleBeyondRepair(m_0.moduleType.ordinal));
  $setHTML(totalM, 'Total Module(s):' + getTotalModules() + '&nbsp&nbsp&nbsp&nbsp usable:' + getTotalUsableCount() + '&nbsp&nbsp&nbsp&nbsp usable After Repair:' + getTotalUsableAfterRepairCount() + '&nbsp&nbsp&nbsp&nbsp Beyond Repair:' + getTotalBeyondRepairCount());
  dynamicCast($get_6(($clinit_ModuleList() , mList), m_0.moduleType.ordinal), Q$ArrayList).size_0 > 0 && $remove_6(moduleHisto[m_0.moduleType.ordinal], dynamicCast($get_6(mList, m_0.moduleType.ordinal), Q$ArrayList).size_0 - 1);
  $add_15(moduleHisto[m_0.moduleType.ordinal], new Image_3(getModuleFill(m_0.moduleType.ordinal)));
  $add_15(moduleHisto[m_0.moduleType.ordinal], new HTML_1('<center>' + dynamicCast($get_6(mList, m_0.moduleType.ordinal), Q$ArrayList).size_0 + '<\/center>'));
  $setWidget_2(($clinit_MapGUI() , $clinit_MapGUI() , MAPGRID), m_0.positiony, m_0.positionx, new Image_3(getModuleImage(m_0.moduleType.ordinal)));
  $getWidget_0(MAPGRID, m_0.positiony, m_0.positionx).setTitle($getString(m_0));
  codeNum.element['value'] = '';
  posx.element['value'] = '';
  posy.element['value'] = '';
  if (checkConfiguration() == 0) {
    $setHTML(configurationLabel_0, '<center><font color ="black"><b> <marquee behavior="scroll" direction="right">No possible configuration, yet<\/b><\/center><\/font><\/marquee>');
    setHabConfigBtn(false);
    setHabConfigBtnMax(false);
  }
   else {
    setHabConfigBtn(true);
    setHabConfigBtnMax(true);
    $setHTML(configurationLabel_0, '<center><font color ="green"> <marquee behavior="scroll" direction="right"><b>A minimum/maximum configuration is now possible!<\/b><\/center><\/font><\/marquee>');
  }
  row = modulesFlexTableAll[m_0.moduleType.ordinal].bodyElem.rows.length;
  $setHTML_0(modulesFlexTableAll[m_0.moduleType.ordinal], row, 0, '<center><font size="1">' + m_0.codeNumber + '<\/center><\/font>');
  $setHTML_0(modulesFlexTableAll[m_0.moduleType.ordinal], row, 1, '<center><font size="1">(' + m_0.positionx + ',' + m_0.positiony + ')<\/center><\/font>');
  $setHTML_0(modulesFlexTableAll[m_0.moduleType.ordinal], row, 2, '<center><font size="1">' + m_0.stats + '<\/center><\/font>');
  $setHTML_0(modulesFlexTableAll[m_0.moduleType.ordinal], row, 3, '<center><font size="1">' + m_0.orientation + '<\/center><\/font>');
  removeModBtn = new Button_2('x');
  $addDomHandler(removeModBtn, new LoggingModuleGUI$2_0(m_0), ($clinit_ClickEvent() , $clinit_ClickEvent() , TYPE));
  $setWidget_2(modulesFlexTableAll[m_0.moduleType.ordinal], row, 4, removeModBtn);
}

function initHistogram(){
  $clinit_LoggingModuleGUI();
  var i, row;
  for (i = 0; i < 10; ++i) {
    !!moduleHisto[i] && $clear(moduleHisto[i]);
    moduleHisto[i] = new HorizontalPanel_2;
  }
  $clear_0(histogram);
  for (row = 9; row >= 0; --row) {
    $add_15(moduleHisto[row], new HTML_1('<center>0<\/center>'));
    $setWidget_2(histogram, row, 1, moduleHisto[row]);
    $setWidget_2(histogram, row, 0, new Image_3(($clinit_Module() , MODULEIMAGE[row])));
  }
}

defineSeed(661, 1, {}, LoggingModuleGUI_0);
_.moduleType = null;
var codeNum, configurationLabel_0, currentM, histogram, m_button, moduleHisto, modulesFlexTableAll, posx, posy, totalM;
function LoggingModuleGUI$1_0(){
}

defineSeed(662, 1, makeCastMap([Q$ClickHandler, Q$EventHandler]), LoggingModuleGUI$1_0);
_.onClick_0 = function onClick_27(event_0){
  $loadGPSData();
  alert_0('Load GPS data complete!');
}
;
function LoggingModuleGUI$2_0(val$m){
  this.val$m = val$m;
}

defineSeed(663, 1, makeCastMap([Q$ClickHandler, Q$EventHandler]), LoggingModuleGUI$2_0);
_.onClick_0 = function onClick_28(event_0){
  var hPanel, noBtn, popPanel, popUp, removedIndex, yesBtn;
  removedIndex = $indexOf_1(dynamicCast($get_6(($clinit_ModuleList() , mList), this.val$m.moduleType.ordinal), Q$ArrayList), this.val$m, 0);
  popUp = new DialogBox_0;
  popPanel = new VerticalPanel_0;
  hPanel = new HorizontalPanel_2;
  noBtn = new ToggleButton_0('no');
  noBtn.element.style['width'] = '50px';
  yesBtn = new ToggleButton_0('yes');
  yesBtn.element.style['width'] = '50px';
  $add_8(popPanel, new HTML_1('<center>Delete this module?<\/center>'));
  $insert_1(popPanel, hPanel, popPanel.items.size_0);
  $setWidget_0(popUp.decPanel, popPanel);
  $maybeUpdateSize(popUp);
  $add_15(hPanel, yesBtn);
  $add_15(hPanel, noBtn);
  $setHorizontalAlign_0(popPanel, ($clinit_Style$HorizontalAlignment() , CENTER));
  $setHorizontalAlignment_0(hPanel, ($clinit_HasHorizontalAlignment() , ALIGN_CENTER));
  $setPopupPosition(popUp, 400, 100);
  !popUp.resizeHandlerRegistration && (popUp.resizeHandlerRegistration = addResizeHandler(new DialogBox$1_0(popUp)));
  $show_3(popUp);
  add_7(yesBtn, new LoggingModuleGUI$2$1_0(yesBtn, this.val$m, removedIndex, popUp));
  $addDomHandler(noBtn, new LoggingModuleGUI$2$2_0(noBtn, popUp), ($clinit_ClickEvent() , $clinit_ClickEvent() , TYPE));
}
;
_.val$m = null;
function LoggingModuleGUI$2$1_0(val$yesBtn, val$m, val$removedIndex, val$popUp){
  this.val$yesBtn = val$yesBtn;
  this.val$m = val$m;
  this.val$removedIndex = val$removedIndex;
  this.val$popUp = val$popUp;
}

defineSeed(664, 1, makeCastMap([Q$ClickListener]), LoggingModuleGUI$2$1_0);
_.onClick_1 = function onClick_29(sender){
  $setDown(this.val$yesBtn);
  $clearCell(($clinit_MapGUI() , $clinit_MapGUI() , MAPGRID), dynamicCast($get_6(dynamicCast($get_6(($clinit_ModuleList() , mList), this.val$m.moduleType.ordinal), Q$ArrayList), this.val$removedIndex), Q$Module).positiony, dynamicCast($get_6(dynamicCast($get_6(mList, this.val$m.moduleType.ordinal), Q$ArrayList), this.val$removedIndex), Q$Module).positionx);
  $set_11(dynamicCast($get_6(mList, this.val$m.moduleType.ordinal), Q$ArrayList), this.val$removedIndex, null);
  $remove_14(dynamicCast($get_6(mList, this.val$m.moduleType.ordinal), Q$ArrayList), this.val$removedIndex);
  $remove_6(($clinit_LoggingModuleGUI() , moduleHisto)[this.val$m.moduleType.ordinal], dynamicCast($get_6(mList, this.val$m.moduleType.ordinal), Q$ArrayList).size_0 + 1);
  $add_15(moduleHisto[this.val$m.moduleType.ordinal], new HTML_1('<center>' + dynamicCast($get_6(mList, this.val$m.moduleType.ordinal), Q$ArrayList).size_0 + '<\/center>'));
  $remove_6(moduleHisto[this.val$m.moduleType.ordinal], dynamicCast($get_6(mList, this.val$m.moduleType.ordinal), Q$ArrayList).size_0);
  $setHTML(currentM, 'Total ' + $getFace($getCurrentFace(m_button[this.val$m.moduleType.ordinal])).textContent + ' Module(s):' + getModuleTypeSize(this.val$m.moduleType.ordinal) + '&nbsp&nbsp&nbsp&nbsp&nbsp  Usable:' + getModuleUsable(this.val$m.moduleType.ordinal) + '&nbsp&nbsp&nbsp&nbsp&nbsp  Usable After Repair:' + getModuleUsableAfterRepair(this.val$m.moduleType.ordinal) + '&nbsp&nbsp&nbsp&nbsp&nbsp  Beyond Repair:' + getModuleBeyondRepair(this.val$m.moduleType.ordinal));
  $setHTML(totalM, 'Total Module(s):' + getTotalModules() + '&nbsp&nbsp&nbsp&nbsp usable:' + getTotalUsableCount() + '&nbsp&nbsp&nbsp&nbsp usable After Repair:' + getTotalUsableAfterRepairCount() + '&nbsp&nbsp&nbsp&nbsp Beyond Repair:' + getTotalBeyondRepairCount());
  $removeRow(modulesFlexTableAll[this.val$m.moduleType.ordinal], this.val$removedIndex + 1);
  if (checkConfiguration() == 0) {
    $setHTML(configurationLabel_0, '<center><font color ="black"><b> <marquee behavior="scroll" direction="right">No possible configuration, yet<\/b><\/center><\/font><\/marquee>');
    setHabConfigBtn(false);
    setHabConfigBtnMax(false);
  }
   else {
    setHabConfigBtn(true);
    setHabConfigBtnMax(true);
    $setHTML(configurationLabel_0, '<center><font color ="green"> <marquee behavior="scroll" direction="right"><b>A minimum/maximum configuration is now possible!<\/b><\/center><\/font><\/marquee>');
  }
  $hide_4(this.val$popUp);
}
;
_.val$m = null;
_.val$popUp = null;
_.val$removedIndex = 0;
_.val$yesBtn = null;
function LoggingModuleGUI$2$2_0(val$noBtn, val$popUp){
  this.val$noBtn = val$noBtn;
  this.val$popUp = val$popUp;
}

defineSeed(665, 1, makeCastMap([Q$ClickHandler, Q$EventHandler]), LoggingModuleGUI$2$2_0);
_.onClick_0 = function onClick_30(event_0){
  if ($isDown(this.val$noBtn)) {
    $hide_4(this.val$popUp);
    $setDown(this.val$noBtn);
  }
}
;
_.val$noBtn = null;
_.val$popUp = null;
function LoggingModuleGUI$3_0(){
}

defineSeed(666, 1, makeCastMap([Q$KeyboardListener]), LoggingModuleGUI$3_0);
_.onKeyDown = function onKeyDown_0(sender, keyCode, modifiers){
}
;
_.onKeyPress_1 = function onKeyPress_3(sender, keyCode, modifiers){
}
;
_.onKeyUp_0 = function onKeyUp_2(sender, keyCode, modifiers){
  var count, h_0, temp;
  count = 0;
  for (h_0 = 0; h_0 < $getPropertyString(($clinit_LoggingModuleGUI() , codeNum).element, 'value').length; ++h_0) {
    temp = $charAt($getPropertyString(codeNum.element, 'value'), h_0);
    (temp == 48 || temp == 49 || temp == 50 || temp == 51 || temp == 52 || temp == 53 || temp == 54 || temp == 55 || temp == 56 || temp == 57) && ++count;
  }
  if (count != $getPropertyString(codeNum.element, 'value').length) {
    alert_0('Error: Code number needs to be an integer!');
    codeNum.element['value'] = '';
  }
  if ($getPropertyString(codeNum.element, 'value').length > 5) {
    alert_0('Sorry! code number cannot exceed 5 digits!');
    codeNum.element['value'] = '';
  }
}
;
function LoggingModuleGUI$4_0(){
}

defineSeed(667, 1, makeCastMap([Q$KeyboardListener]), LoggingModuleGUI$4_0);
_.onKeyDown = function onKeyDown_1(sender, keyCode, modifiers){
}
;
_.onKeyPress_1 = function onKeyPress_4(sender, keyCode, modifiers){
}
;
_.onKeyUp_0 = function onKeyUp_3(sender, keyCode, modifiers){
  var count, h_0, temp;
  count = 0;
  for (h_0 = 0; h_0 < $getPropertyString(($clinit_LoggingModuleGUI() , posx).element, 'value').length; ++h_0) {
    temp = $charAt($getPropertyString(posx.element, 'value'), h_0);
    (temp == 48 || temp == 49 || temp == 50 || temp == 51 || temp == 52 || temp == 53 || temp == 54 || temp == 55 || temp == 56 || temp == 57) && ++count;
  }
  if (count != $getPropertyString(posx.element, 'value').length) {
    alert_0('Error: x position needs to be an integer!');
    posx.element['value'] = '';
  }
  if ($getPropertyString(posx.element, 'value').length > 0) {
    if (__parseAndValidateInt($getPropertyString(posx.element, 'value'), 10) >= 50) {
      alert_0('Sorry! x pos cannot exceed 49!');
      posx.element['value'] = '';
    }
  }
  if ($equals_2($getPropertyString(posx.element, 'value'), '0')) {
    alert_0('Position x cannot be 0!');
    posx.element['value'] = '';
  }
}
;
function LoggingModuleGUI$5_0(){
}

defineSeed(668, 1, makeCastMap([Q$KeyboardListener]), LoggingModuleGUI$5_0);
_.onKeyDown = function onKeyDown_2(sender, keyCode, modifiers){
}
;
_.onKeyPress_1 = function onKeyPress_5(sender, keyCode, modifiers){
}
;
_.onKeyUp_0 = function onKeyUp_4(sender, keyCode, modifiers){
  var count, h_0, temp;
  count = 0;
  for (h_0 = 0; h_0 < $getPropertyString(($clinit_LoggingModuleGUI() , posy).element, 'value').length; ++h_0) {
    temp = $charAt($getPropertyString(posy.element, 'value'), h_0);
    (temp == 48 || temp == 49 || temp == 50 || temp == 51 || temp == 52 || temp == 53 || temp == 54 || temp == 55 || temp == 56 || temp == 57) && ++count;
  }
  if (count != $getPropertyString(posy.element, 'value').length) {
    alert_0('Error: y position needs to be an integer!');
    posy.element['value'] = '';
  }
  if ($getPropertyString(posy.element, 'value').length > 0) {
    if (__parseAndValidateInt($getPropertyString(posy.element, 'value'), 10) >= 50) {
      alert_0('Sorry! y pos cannot exceed 49!');
      posy.element['value'] = '';
    }
  }
  if ($equals_2($getPropertyString(posy.element, 'value'), '0')) {
    alert_0('Position y cannot be 0!');
    posy.element['value'] = '';
  }
}
;
function LoggingModuleGUI$6_0(this$0){
  this.this$0 = this$0;
}

defineSeed(669, 1, makeCastMap([Q$ClickHandler, Q$EventHandler]), LoggingModuleGUI$6_0);
_.onClick_0 = function onClick_31(event_0){
  if ($isDown(this.this$0.clrBtn)) {
    ($clinit_LoggingModuleGUI() , codeNum).element['value'] = '';
    posx.element['value'] = '';
    posy.element['value'] = '';
    $setDown(this.this$0.clrBtn);
  }
}
;
_.this$0 = null;
function LoggingModuleGUI$7_0(this$0){
  this.this$0 = this$0;
}

defineSeed(670, 1, makeCastMap([Q$ClickHandler, Q$EventHandler]), LoggingModuleGUI$7_0);
_.onClick_0 = function onClick_32(event_0){
  var code, hPanel, index, m_0, noBtn, popPanel, popUp, type, yesBtn, index_0;
  if ($isDown(this.this$0.addUpdateBtn)) {
    if ($getPropertyString(($clinit_LoggingModuleGUI() , codeNum).element, 'value').length > 0 && $getPropertyString(posx.element, 'value').length > 0 && $getPropertyString(posy.element, 'value').length > 0) {
      code = __parseAndValidateInt($getPropertyString(codeNum.element, 'value'), 10);
      type = getModuleListType(code);
      index = getModule(code);
      if (type != -1 && index != -1 && type == this.this$0.moduleType.ordinal) {
        popUp = new DialogBox_0;
        popPanel = new VerticalPanel_0;
        hPanel = new HorizontalPanel_2;
        noBtn = new ToggleButton_0('no');
        noBtn.element.style['width'] = '50px';
        yesBtn = new ToggleButton_0('yes');
        yesBtn.element.style['width'] = '50px';
        $add_8(popPanel, new HTML_1('<center>Update this module?<\/center>'));
        $insert_1(popPanel, hPanel, popPanel.items.size_0);
        $setWidget_0(popUp.decPanel, popPanel);
        $maybeUpdateSize(popUp);
        $add_15(hPanel, yesBtn);
        $add_15(hPanel, noBtn);
        $setPopupPosition(popUp, 400, 100);
        !popUp.resizeHandlerRegistration && (popUp.resizeHandlerRegistration = addResizeHandler(new DialogBox$1_0(popUp)));
        $show_3(popUp);
        add_7(yesBtn, new LoggingModuleGUI$7$1_0(this, yesBtn, index, type, popUp));
        $addDomHandler(noBtn, new LoggingModuleGUI$7$2_0(noBtn, popUp), ($clinit_ClickEvent() , $clinit_ClickEvent() , TYPE));
      }
       else if ($verify(this.this$0)) {
        m_0 = new Module_0(this.this$0.moduleType, getModuleImage(this.this$0.moduleType.ordinal));
        $setCodeNumber(m_0, __parseAndValidateInt($getPropertyString(codeNum.element, 'value'), 10));
        $setOrientation(m_0, this.this$0.orientation.element.selectedIndex);
        $setStats(m_0, $getValue_0(this.this$0.status_0, this.this$0.status_0.element.selectedIndex));
        $setPositionX(m_0, __parseAndValidateInt($getPropertyString(posx.element, 'value'), 10));
        $setPositionY(m_0, __parseAndValidateInt($getPropertyString(posy.element, 'value'), 10));
        $clinit_ModuleList();
        index_0 = m_0.moduleType.ordinal;
        $add_17(dynamicCast($get_6(mList, index_0), Q$ArrayList), m_0);
        TableInit(m_0);
      }
    }
     else {
      alert_0('Please make sure all fields are filled!');
    }
    $setDown(this.this$0.addUpdateBtn);
  }
}
;
_.this$0 = null;
function LoggingModuleGUI$7$1_0(this$1, val$yesBtn, val$index, val$type, val$popUp){
  this.this$1 = this$1;
  this.val$yesBtn = val$yesBtn;
  this.val$index = val$index;
  this.val$type = val$type;
  this.val$popUp = val$popUp;
}

defineSeed(671, 1, makeCastMap([Q$ClickListener]), LoggingModuleGUI$7$1_0);
_.onClick_1 = function onClick_33(sender){
  var row;
  $setDown(this.val$yesBtn);
  $clearCell(($clinit_MapGUI() , $clinit_MapGUI() , MAPGRID), dynamicCast($get_6(dynamicCast($get_6(($clinit_ModuleList() , mList), this.this$1.this$0.moduleType.ordinal), Q$ArrayList), this.val$index), Q$Module).positiony, dynamicCast($get_6(dynamicCast($get_6(mList, this.this$1.this$0.moduleType.ordinal), Q$ArrayList), this.val$index), Q$Module).positionx);
  $setOrientation(dynamicCast($get_6(dynamicCast($get_6(mList, this.val$type), Q$ArrayList), this.val$index), Q$Module), this.this$1.this$0.orientation.element.selectedIndex);
  $setPositionX(dynamicCast($get_6(dynamicCast($get_6(mList, this.val$type), Q$ArrayList), this.val$index), Q$Module), __parseAndValidateInt($getPropertyString(($clinit_LoggingModuleGUI() , posx).element, 'value'), 10));
  $setPositionY(dynamicCast($get_6(dynamicCast($get_6(mList, this.val$type), Q$ArrayList), this.val$index), Q$Module), __parseAndValidateInt($getPropertyString(posy.element, 'value'), 10));
  $setStats(dynamicCast($get_6(dynamicCast($get_6(mList, this.val$type), Q$ArrayList), this.val$index), Q$Module), $getValue_0(this.this$1.this$0.status_0, this.this$1.this$0.status_0.element.selectedIndex));
  $setHTML(currentM, 'Total ' + $getFace($getCurrentFace(m_button[this.this$1.this$0.moduleType.ordinal])).textContent + ' Module(s):' + getModuleTypeSize(this.this$1.this$0.moduleType.ordinal) + '&nbsp&nbsp&nbsp&nbsp&nbsp  Usable:' + getModuleUsable(this.this$1.this$0.moduleType.ordinal) + '&nbsp&nbsp&nbsp&nbsp&nbsp  Usable After Repair:' + getModuleUsableAfterRepair(this.this$1.this$0.moduleType.ordinal) + '&nbsp&nbsp&nbsp&nbsp&nbsp  Beyond Repair:' + getModuleBeyondRepair(this.this$1.this$0.moduleType.ordinal));
  $setHTML(totalM, 'Total Module(s):' + getTotalModules() + '&nbsp&nbsp&nbsp&nbsp usable:' + getTotalUsableCount() + '&nbsp&nbsp&nbsp&nbsp usable After Repair:' + getTotalUsableAfterRepairCount() + '&nbsp&nbsp&nbsp&nbsp Beyond Repair:' + getTotalBeyondRepairCount());
  row = $indexOf_1(dynamicCast($get_6(mList, this.this$1.this$0.moduleType.ordinal), Q$ArrayList), $get_6(dynamicCast($get_6(mList, this.this$1.this$0.moduleType.ordinal), Q$ArrayList), this.val$index), 0) + 1;
  $setHTML_0(modulesFlexTableAll[this.this$1.this$0.moduleType.ordinal], row, 0, '<center><font size="1">' + $getPropertyString(codeNum.element, 'value') + '<\/center><\/font>');
  $setHTML_0(modulesFlexTableAll[this.this$1.this$0.moduleType.ordinal], row, 1, '<center><font size="1">(' + $getPropertyString(posx.element, 'value') + ',' + $getPropertyString(posy.element, 'value') + ')<\/center><\/font>');
  $setHTML_0(modulesFlexTableAll[this.this$1.this$0.moduleType.ordinal], row, 2, '<center><font size="1">' + $getItemText(this.this$1.this$0.status_0, this.this$1.this$0.status_0.element.selectedIndex) + '<\/center><\/font>');
  $setHTML_0(modulesFlexTableAll[this.this$1.this$0.moduleType.ordinal], row, 3, '<center><font size="1">' + $getItemText(this.this$1.this$0.orientation, this.this$1.this$0.orientation.element.selectedIndex) + '<\/center><\/font>');
  $setWidget_2(MAPGRID, __parseAndValidateInt($getPropertyString(posy.element, 'value'), 10), __parseAndValidateInt($getPropertyString(posx.element, 'value'), 10), new Image_3(getModuleImage(this.this$1.this$0.moduleType.ordinal)));
  $getWidget_0(MAPGRID, __parseAndValidateInt($getPropertyString(posy.element, 'value'), 10), __parseAndValidateInt($getPropertyString(posx.element, 'value'), 10)).setTitle($getString(dynamicCast($get_6(dynamicCast($get_6(mList, this.val$type), Q$ArrayList), this.val$index), Q$Module)));
  $hide_4(this.val$popUp);
  codeNum.element['value'] = '';
  posx.element['value'] = '';
  posy.element['value'] = '';
}
;
_.this$1 = null;
_.val$index = 0;
_.val$popUp = null;
_.val$type = 0;
_.val$yesBtn = null;
function LoggingModuleGUI$7$2_0(val$noBtn, val$popUp){
  this.val$noBtn = val$noBtn;
  this.val$popUp = val$popUp;
}

defineSeed(672, 1, makeCastMap([Q$ClickHandler, Q$EventHandler]), LoggingModuleGUI$7$2_0);
_.onClick_0 = function onClick_34(event_0){
  if ($isDown(this.val$noBtn)) {
    $hide_4(this.val$popUp);
    $setDown(this.val$noBtn);
    ($clinit_LoggingModuleGUI() , codeNum).element['value'] = '';
    posx.element['value'] = '';
    posy.element['value'] = '';
  }
}
;
_.val$noBtn = null;
_.val$popUp = null;
function LoggingModuleGUI$8_0(this$0, val$number){
  this.this$0 = this$0;
  this.val$number = val$number;
}

defineSeed(673, 1, makeCastMap([Q$ClickHandler, Q$EventHandler]), LoggingModuleGUI$8_0);
_.onClick_0 = function onClick_35(event_0){
  var j;
  if ($isDown(($clinit_LoggingModuleGUI() , m_button)[this.val$number])) {
    $setHTML(this.this$0.buttonLabel, '<font size="-5"><center>' + $getFace($getCurrentFace(m_button[this.val$number])).textContent + ' is locked<\/center><\/font>');
    for (j = 0; j < 10; ++j) {
      this.val$number != j && $setEnabled_1(m_button[j], false);
    }
    $remove_10(this.this$0.sTablePanel, modulesFlexTableAll[10]);
    $add_13(this.this$0.sTablePanel, modulesFlexTableAll[this.val$number]);
    $turnOn(this.this$0, true);
    this.this$0.moduleType = checkModuleType(this.val$number);
    $setHTML(currentM, 'Total ' + $getFace($getCurrentFace(m_button[this.this$0.moduleType.ordinal])).textContent + ' Module(s):' + getModuleTypeSize(this.this$0.moduleType.ordinal) + '&nbsp&nbsp&nbsp&nbsp&nbsp  Usable:' + getModuleUsable(this.this$0.moduleType.ordinal) + '&nbsp&nbsp&nbsp&nbsp&nbsp  Usable After Repair:' + getModuleUsableAfterRepair(this.this$0.moduleType.ordinal) + '&nbsp&nbsp&nbsp&nbsp&nbsp  Beyond Repair:' + getModuleBeyondRepair(this.this$0.moduleType.ordinal));
  }
   else {
    $remove_10(this.this$0.sTablePanel, modulesFlexTableAll[this.val$number]);
    $add_13(this.this$0.sTablePanel, modulesFlexTableAll[10]);
    $setHTML(this.this$0.buttonLabel, '<font size="-5"><center>Please Select a Module<\/center><\/font>');
    for (j = 0; j < 10; ++j) {
      $setEnabled_1(m_button[j], true);
    }
    $turnOn(this.this$0, false);
    $setHTML(currentM, 'Total XX Module(s):0&nbsp&nbsp&nbsp&nbsp&nbsp  Usable:0&nbsp&nbsp&nbsp&nbsp&nbsp  Usable After Repair:0&nbsp&nbsp&nbsp&nbsp&nbsp  Beyond Repair:0');
  }
}
;
_.this$0 = null;
_.val$number = 0;
function LoginScreen_0(mainMCHS){
  this.status_0 = new Status_0;
  this.htmlhi = new HTML_2('<center><font size ="1">Enter Password<\/font><\/center>');
  this.passWord = new PasswordTextBox_0;
  this.image = new Image_3('images/Login.jpg');
  this.userName = new HTML_0;
  this.login = new AbsolutePanel_0;
  $add_11(($clinit_RootPanel() , get_3()), this.login);
  if (!!($clinit_Main() , $clinit_Main() , local_0) && $getItem_0(local_0, 'Account Saved') != null) {
    this.user_name = $getItem_0(local_0, 'user name');
    this.user_password = $getItem_0(local_0, 'user password');
  }
   else {
    this.user_name = 'Mighty Ducks';
    this.user_password = '123';
  }
  $setHTML(this.userName, '<b>' + this.user_name + '<\/b>');
  $setAlignment_0(this.passWord, $clinit_ValueBoxBase$TextAlignment());
  $addDomHandler(this.passWord, new LoginScreen$1_0(this, mainMCHS), ($clinit_KeyPressEvent() , $clinit_KeyPressEvent() , TYPE_1));
  $add_12(this.login, this.passWord, 533, 249);
  $setSize_1(this.passWord, '143px', '16px');
  $add_12(this.login, this.image, 360, 179);
  $setSize_1(this.image, '151px', '137px');
  $add_12(this.login, this.userName, 533, 192);
  $add_12(this.login, this.htmlhi, 533, 279);
  $setSize_1(this.htmlhi, '151px', '16px');
  $setSize_1(this.login, '1041px', '605px');
  $add_11(this.login, this.status_0);
  $setSize_3(this.status_0, '11px', '16px');
  $setWidgetPosition(this.login, this.status_0, 533, 279);
}

defineSeed(674, 1, {}, LoginScreen_0);
_.user_name = null;
_.user_password = null;
function LoginScreen$1_0(this$0, val$mainMCHS){
  this.this$0 = this$0;
  this.val$mainMCHS = val$mainMCHS;
}

defineSeed(675, 1, makeCastMap([Q$KeyPressHandler, Q$EventHandler]), LoginScreen$1_0);
_.onKeyPress_0 = function onKeyPress_6(event_0){
  var t;
  if (((event_0.nativeEvent.which || 0) & 65535) == 13) {
    $setEnabled_0(this.this$0.passWord, false);
    $setHTML(this.this$0.htmlhi, '<center><font size ="1">Verifying Password...<\/center><\/font>');
    $setIconStyle(this.this$0.status_0, 'icon-wait');
    t = new LoginScreen$1$1_0(this, this.val$mainMCHS);
    $schedule(t, 3000);
  }
}
;
_.this$0 = null;
_.val$mainMCHS = null;
function LoginScreen$1$1_0(this$1, val$mainMCHS){
  $clinit_Timer();
  this.this$1 = this$1;
  this.val$mainMCHS = val$mainMCHS;
}

defineSeed(676, 45, makeCastMap([Q$Timer]), LoginScreen$1$1_0);
_.run = function run_9(){
  var t;
  if ($equals_2($getPropertyString(this.this$1.this$0.passWord.element, 'value'), this.this$1.this$0.user_password)) {
    $setHTML(this.this$1.this$0.htmlhi, '<center><font size ="1">Password confirmed!<\/font><\/center>');
    $setIconStyle(this.this$1.this$0.status_0, null);
    t = new LoginScreen$1$1$1_0(this, this.val$mainMCHS);
    $schedule(t, 1000);
  }
   else {
    $setHTML(this.this$1.this$0.htmlhi, '<center><font size ="1">Password is incorrect!<\/font><\/center>');
    $setIconStyle(this.this$1.this$0.status_0, null);
    $setEnabled_0(this.this$1.this$0.passWord, true);
  }
}
;
_.this$1 = null;
_.val$mainMCHS = null;
function LoginScreen$1$1$1_0(this$2, val$mainMCHS){
  this.this$2 = this$2;
  this.val$mainMCHS = val$mainMCHS;
}

defineSeed(677, 45, makeCastMap([Q$Timer]), LoginScreen$1$1$1_0);
_.run = function run_10(){
  $remove_8(($clinit_RootPanel() , get_3()), this.this$2.this$1.this$0.login);
  $add_12(get_3(), this.val$mainMCHS, 0, 0);
  $setHTML(this.this$2.this$1.this$0.htmlhi, '<center><font size ="1">Enter Password<\/font><\/center>');
  this.this$2.this$1.this$0.passWord.element['value'] = '';
  this.this$2.this$1.this$0.passWord.element['disabled'] = !true;
}
;
_.this$2 = null;
--></script>
<script><!--
_.val$mainMCHS = null;
function $clinit_MapGUI(){
  $clinit_MapGUI = nullMethod;
  MAPGRID = new Grid_0(50, 50);
}

function initMap(){
  $clinit_MapGUI();
  var i, j;
  $clear_0(MAPGRID);
  MAPGRID.tableElem['border'] = '2';
  MAPGRID.tableElem['cellPadding'] = 4;
  $setStyleName_0(MAPGRID, 'bgMap');
  for (i = 0; i < 50; ++i) {
    $setWidget_2(MAPGRID, i, 0, new HTML_1('<center><font color="white">' + i + '<\/center><\/font>'));
  }
  for (j = 0; j < 50; ++j) {
    j < 10?$setWidget_2(MAPGRID, 0, j, new HTML_1('<font color="white"><center>_' + j + '<\/center><\/font>')):$setWidget_2(MAPGRID, 0, j, new HTML_1('<font color="white"><center>' + j + '<\/center><\/font>'));
  }
  for (i = 0; i < ($clinit_ModuleList() , mList).size_0; ++i) {
    for (j = 0; j < dynamicCast($get_6(mList, i), Q$ArrayList).size_0; ++j) {
      $setWidget_2(MAPGRID, dynamicCast($get_6(dynamicCast($get_6(mList, i), Q$ArrayList), j), Q$Module).positiony, dynamicCast($get_6(dynamicCast($get_6(mList, i), Q$ArrayList), j), Q$Module).positionx, new Image_3(($clinit_Module() , MODULEIMAGE[i])));
      $getWidget_0(MAPGRID, dynamicCast($get_6(dynamicCast($get_6(mList, i), Q$ArrayList), j), Q$Module).positiony, dynamicCast($get_6(dynamicCast($get_6(mList, i), Q$ArrayList), j), Q$Module).positionx).setTitle($getString(dynamicCast($get_6(dynamicCast($get_6(mList, i), Q$ArrayList), j), Q$Module)));
    }
  }
}

var MAPGRID;
function $clinit_Module(){
  $clinit_Module = nullMethod;
  $clinit_Image();
  MODULEIMAGE = initDim(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, 10, 0);
  MODULEFILL = initDim(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, 10, 0);
}

function $getString(this$static){
  this$static.moduleInformation = 'Module Type' + this$static.moduleType.name_0.toLowerCase() + '\n';
  this$static.moduleInformation += 'Module Code#:' + this$static.codeNumber + '\n';
  this$static.moduleInformation += 'Module Status:' + this$static.stats + '\n';
  this$static.moduleInformation += 'Module Orientation:' + this$static.orientation + '\n';
  this$static.moduleInformation += '@ (' + this$static.positionx + ',' + this$static.positiony + ')';
  return this$static.moduleInformation;
}

function $setCodeNumber(this$static, code){
  this$static.codeNumber = code;
}

function $setGridX(this$static, xgrid){
  this$static.gridx = xgrid;
}

function $setGridY(this$static, ygrid){
  this$static.gridy = ygrid;
}

function $setOrientation(this$static, orient){
  this$static.orientation = orient;
}

function $setPositionX(this$static, xposition){
  this$static.positionx = xposition;
}

function $setPositionY(this$static, yposition){
  this$static.positiony = yposition;
}

function $setStats(this$static, stat){
  this$static.stats = stat;
}

function Module_0(type, imgurl){
  $clinit_Module();
  Image_3.call(this, imgurl);
  this.moduleType = type;
}

function checkModuleType(number){
  $clinit_Module();
  var temp;
  number == ($clinit_ModuleType() , AIR_LOCK).ordinal?(temp = AIR_LOCK):number == CANTEEN.ordinal?(temp = CANTEEN):number == CONTROL.ordinal?(temp = CONTROL):number == DORMITORY.ordinal?(temp = DORMITORY):number == FOOD_WATER_STORAGE.ordinal?(temp = FOOD_WATER_STORAGE):number == GYM_RELAXATION.ordinal?(temp = GYM_RELAXATION):number == MEDICAL.ordinal?(temp = MEDICAL):number == PLAIN.ordinal?(temp = PLAIN):number == POWER.ordinal?(temp = POWER):(temp = SANITATION);
  return temp;
}

function getModuleFill(index){
  $clinit_Module();
  return MODULEFILL[index];
}

function getModuleImage(index){
  $clinit_Module();
  return MODULEIMAGE[index];
}

defineSeed(679, 577, makeCastMap([Q$HasAllDragAndDropHandlers, Q$HasAllGestureHandlers, Q$HasAllMouseHandlers, Q$HasAllTouchHandlers, Q$HasClickHandlers, Q$HasDoubleClickHandlers, Q$HasDragEndHandlers, Q$HasDragEnterHandlers, Q$HasDragHandlers, Q$HasDragLeaveHandlers, Q$HasDragOverHandlers, Q$HasDragStartHandlers, Q$HasDropHandlers, Q$HasErrorHandlers, Q$HasGestureChangeHandlers, Q$HasGestureEndHandlers, Q$HasGestureStartHandlers, Q$HasLoadHandlers, Q$HasMouseDownHandlers, Q$HasMouseMoveHandlers, Q$HasMouseOutHandlers, Q$HasMouseOverHandlers, Q$HasMouseUpHandlers, Q$HasMouseWheelHandlers, Q$HasTouchCancelHandlers, Q$HasTouchEndHandlers, Q$HasTouchMoveHandlers, Q$HasTouchStartHandlers, Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$Image, Q$IsWidget, Q$SourcesClickEvents, Q$SourcesLoadEvents, Q$SourcesMouseEvents, Q$UIObject, Q$Widget, Q$Module]), Module_0);
_.codeNumber = 0;
_.gridx = 0;
_.gridy = 0;
_.moduleInformation = '';
_.moduleType = null;
_.orientation = 0;
_.positionx = 0;
_.positiony = 0;
_.stats = null;
var MODULEFILL, MODULEIMAGE;
function $clinit_ModuleList(){
  $clinit_ModuleList = nullMethod;
  mList = new ArrayList_0;
  usable_0 = initDim(_3I_classLit, makeCastMap([Q$Serializable]), -1, 10, 1);
}

function checkConfiguration(){
  $clinit_ModuleList();
  var i, k;
  for (i = 0; i < 10; ++i) {
    usable_0[i] = 0;
  }
  for (i = 0; i < 10; ++i) {
    for (k = 0; k < dynamicCast($get_6(mList, i), Q$ArrayList).size_0; ++k) {
      $equals_2(dynamicCast($get_6(dynamicCast($get_6(mList, i), Q$ArrayList), k), Q$Module).stats, 'beyond repair') || ++usable_0[i];
    }
  }
  if (usable_0[0] >= 3 && usable_0[1] >= 1 && usable_0[2] >= 1 && usable_0[3] >= 1 && usable_0[4] >= 1 && usable_0[5] >= 1 && usable_0[6] >= 1 && usable_0[8] >= 1) {
    return 1;
  }
  return 0;
}

function getModule(code){
  $clinit_ModuleList();
  var i, j;
  for (i = 0; i < mList.size_0; ++i) {
    for (j = 0; j < dynamicCast($get_6(mList, i), Q$ArrayList).size_0; ++j) {
      if (dynamicCast($get_6(dynamicCast($get_6(mList, i), Q$ArrayList), j), Q$Module).codeNumber == code) {
        return j;
      }
    }
  }
  return -1;
}

function getModuleBeyondRepair(type){
  $clinit_ModuleList();
  var beyondRepair, i;
  beyondRepair = 0;
  for (i = 0; i < dynamicCast($get_6(mList, type), Q$ArrayList).size_0; ++i) {
    $equals_2(dynamicCast($get_6(dynamicCast($get_6(mList, type), Q$ArrayList), i), Q$Module).stats, 'beyond repair') && ++beyondRepair;
  }
  return beyondRepair;
}

function getModuleListType(code){
  $clinit_ModuleList();
  var i, j;
  for (i = 0; i < mList.size_0; ++i) {
    for (j = 0; j < dynamicCast($get_6(mList, i), Q$ArrayList).size_0; ++j) {
      if (dynamicCast($get_6(dynamicCast($get_6(mList, i), Q$ArrayList), j), Q$Module).codeNumber == code) {
        return i;
      }
    }
  }
  return -1;
}

function getModuleTypeSize(type){
  $clinit_ModuleList();
  return dynamicCast($get_6(mList, type), Q$ArrayList).size_0;
}

function getModuleUsable(type){
  $clinit_ModuleList();
  var i, usable;
  usable = 0;
  for (i = 0; i < dynamicCast($get_6(mList, type), Q$ArrayList).size_0; ++i) {
    $equals_2(dynamicCast($get_6(dynamicCast($get_6(mList, type), Q$ArrayList), i), Q$Module).stats, 'usable') && ++usable;
  }
  return usable;
}

function getModuleUsableAfterRepair(type){
  $clinit_ModuleList();
  var i, usableAfterRepair;
  usableAfterRepair = 0;
  for (i = 0; i < dynamicCast($get_6(mList, type), Q$ArrayList).size_0; ++i) {
    $equals_2(dynamicCast($get_6(dynamicCast($get_6(mList, type), Q$ArrayList), i), Q$Module).stats, 'usable after repair') && ++usableAfterRepair;
  }
  return usableAfterRepair;
}

function getTotalBeyondRepairCount(){
  $clinit_ModuleList();
  var beyondRepair, i;
  beyondRepair = 0;
  for (i = 0; i < mList.size_0; ++i) {
    beyondRepair += getModuleBeyondRepair(i);
  }
  return beyondRepair;
}

function getTotalModules(){
  $clinit_ModuleList();
  var count, i;
  count = 0;
  for (i = 0; i < mList.size_0; ++i) {
    count += dynamicCast($get_6(mList, i), Q$ArrayList).size_0;
  }
  return count;
}

function getTotalUsableAfterRepairCount(){
  $clinit_ModuleList();
  var i, usableAfterRepair;
  usableAfterRepair = 0;
  for (i = 0; i < mList.size_0; ++i) {
    usableAfterRepair += getModuleUsableAfterRepair(i);
  }
  return usableAfterRepair;
}

function getTotalUsableCount(){
  $clinit_ModuleList();
  var i, usable;
  usable = 0;
  for (i = 0; i < mList.size_0; ++i) {
    usable += getModuleUsable(i);
  }
  return usable;
}

function initMList(){
  $clinit_ModuleList();
  var i;
  for (i = 0; i < 10; ++i) {
    $add_17(mList, new ArrayList_0);
  }
}

var mList, usable_0;
function $clinit_ModuleType(){
  $clinit_ModuleType = nullMethod;
  PLAIN = new ModuleType_0('PLAIN', 0);
  CONTROL = new ModuleType_0('CONTROL', 1);
  POWER = new ModuleType_0('POWER', 2);
  FOOD_WATER_STORAGE = new ModuleType_0('FOOD_WATER_STORAGE', 3);
  DORMITORY = new ModuleType_0('DORMITORY', 4);
  CANTEEN = new ModuleType_0('CANTEEN', 5);
  SANITATION = new ModuleType_0('SANITATION', 6);
  GYM_RELAXATION = new ModuleType_0('GYM_RELAXATION', 7);
  AIR_LOCK = new ModuleType_0('AIR_LOCK', 8);
  MEDICAL = new ModuleType_0('MEDICAL', 9);
  $VALUES_17 = initValues(_3Lcom_mycompany_project_client_chee_ModuleType_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$ModuleType, [PLAIN, CONTROL, POWER, FOOD_WATER_STORAGE, DORMITORY, CANTEEN, SANITATION, GYM_RELAXATION, AIR_LOCK, MEDICAL]);
}

function ModuleType_0(enum$name, enum$ordinal){
  Enum_0.call(this, enum$name, enum$ordinal);
}

function values_18(){
  $clinit_ModuleType();
  return $VALUES_17;
}

defineSeed(681, 34, makeCastMap([Q$ModuleType, Q$Serializable, Q$Comparable, Q$Enum]), ModuleType_0);
var $VALUES_17, AIR_LOCK, CANTEEN, CONTROL, DORMITORY, FOOD_WATER_STORAGE, GYM_RELAXATION, MEDICAL, PLAIN, POWER, SANITATION;
function $daysElapsed(this$static){
  var daysElapsed;
  daysElapsed = -1;
  !!this$static.date && (daysElapsed = getDaysBetween(this$static.date, new Date_1));
  return daysElapsed;
}

function $getStringDate(this$static){
  var stringDate;
  !this$static.date?(stringDate = null):(stringDate = $format(this$static.dateformat, this$static.date, null));
  return stringDate;
}

function $setDate_1(this$static, newDate){
  this$static.date = newDate;
  $setItem(($clinit_Main() , $clinit_Main() , local_0), 'Calibration', $format(this$static.dateformat, newDate, null));
}

function RoverCalibration_0(){
  this.dateformat = ($clinit_DateTimeFormat_0() , getFormat(($clinit_DateTimeFormat$PredefinedFormat() , DATE_TIME_FULL)));
  $getItem_0(($clinit_Main() , $clinit_Main() , local_0), 'Calibration') != null && (this.date = $parse_0(this.dateformat, $getItem_0(local_0, 'Calibration')));
}

defineSeed(682, 1, {}, RoverCalibration_0);
_.date = null;
function $checkConstantCalibration(this$static){
  if ($daysElapsed(this$static.roverCal) != -1 && $daysElapsed(this$static.roverCal) > 10) {
    alert_0('It has been more than 10 days since the rover milometer has been calibrated!');
    this$static.constCal = false;
  }
}

function $checkInitialCalibration(this$static){
  if ($getStringDate(this$static.roverCal) == null) {
    alert_0('Rover has not been Calibrated!');
    this$static.initCal = false;
  }
}

function RoverCalibrationGUI_0(){
  var calButton;
  this.roverCal = new RoverCalibration_0;
  this.hPanel = new HorizontalPanel_2;
  this.verticalPanel = new VerticalPanel_0;
  this.roverLbl = new Label_0;
  this.alertTimer = new RoverCalibrationGUI$1_0(this);
  $scheduleRepeating(this.alertTimer);
  $setHorizontalAlignment_0(this.hPanel, ($clinit_HasHorizontalAlignment() , ALIGN_LEFT));
  $setVerticalAlignment(this.hPanel, ($clinit_HasVerticalAlignment() , ALIGN_MIDDLE));
  $setWidth_0(this.hPanel, '500px');
  $setSize_3(this.verticalPanel, '675px', '569px');
  calButton = new Button_2('Calibrate Rover Milometer');
  $addDomHandler(calButton, new RoverCalibrationGUI$2_0(this), ($clinit_ClickEvent() , $clinit_ClickEvent() , TYPE));
  $add_15(this.hPanel, calButton);
  $getStringDate(this.roverCal) == null?$setText_6(this.roverLbl, 'Rover has not been Calibrated!'):$setText_6(this.roverLbl, 'Last Calibrated:   ' + $getStringDate(this.roverCal));
  $add_15(this.hPanel, this.roverLbl);
  $add_8(this.verticalPanel, this.hPanel);
}

defineSeed(683, 1, {}, RoverCalibrationGUI_0);
_.alertTimer = null;
_.constCal = true;
_.initCal = true;
function RoverCalibrationGUI$1_0(this$0){
  $clinit_Timer();
  this.this$0 = this$0;
}

defineSeed(684, 45, makeCastMap([Q$Timer]), RoverCalibrationGUI$1_0);
_.run = function run_11(){
  this.this$0.initCal && $checkInitialCalibration(this.this$0);
  this.this$0.constCal && $checkConstantCalibration(this.this$0);
}
;
_.this$0 = null;
function RoverCalibrationGUI$2_0(this$0){
  this.this$0 = this$0;
}

defineSeed(685, 1, makeCastMap([Q$ClickHandler, Q$EventHandler]), RoverCalibrationGUI$2_0);
_.onClick_0 = function onClick_36(event_0){
  $setDate_1(this.this$0.roverCal, new Date_1);
  $setText_6(this.this$0.roverLbl, 'Last Calibrated:   ' + $getStringDate(this.this$0.roverCal));
  this.this$0.constCal = true;
}
;
_.this$0 = null;
function Weather_0(){
  var jsonp, url;
  this.outp = new VerticalPanel_0;
  url = 'http://api.wunderground.com/api/37ddac705e45b702/conditions/q/55811.json?';
  url = (throwIfNull(url) , encodeURI(url));
  jsonp = new JsonpRequestBuilder_0;
  jsonp.callbackParam = 'callback';
  $send(jsonp, url, new Weather$1_0(this));
}

defineSeed(686, 1, {}, Weather_0);
function $onSuccess(this$static, s){
  var jA, jB, jTry, obj, output, result, sTemp, sVisibility, temp, visibility, weather, wind;
  obj = new JSONObject_1(s);
  result = $toString_3(obj);
  jA = ($clinit_JSONParser() , dynamicCast(parse(result), Q$JSONObject));
  jTry = $get_4(jA, 'current_observation');
  jB = dynamicCast(parse(jTry.toString$()), Q$JSONObject);
  temp = $get_4(jB, 'temp_f');
  visibility = $get_4(jB, 'visibility_km');
  wind = $get_4(jB, 'wind_string');
  weather = $get_4(jB, 'weather');
  sTemp = temp.toString$();
  sVisibility = visibility.toString$();
  output = new HTML_1('<center>Temp Farenheit: ' + sTemp + ' degrees<br>Visibility Distance: ' + sVisibility + ' km<\/br>Wind: ' + wind.toString$() + '<br>Weather: ' + weather.toString$() + '<\/center><\/br>');
  $add_8(this$static.this$0.outp, new Image_3('images/wundergroundLogo_4c.jpg'));
  $add_8(this$static.this$0.outp, output);
  $setSize_3(this$static.this$0.outp, '320px', '290px');
  $setVerticalAlign_0(this$static.this$0.outp, ($clinit_Style$VerticalAlignment() , MIDDLE));
  $setHorizontalAlign_0(this$static.this$0.outp, ($clinit_Style$HorizontalAlignment() , CENTER));
}

function Weather$1_0(this$0){
  this.this$0 = this$0;
}

defineSeed(687, 1, {}, Weather$1_0);
_.this$0 = null;
function QualityCheckGUI_0(){
  var horizontalPanel, horizontalPanel1, htmlConfiguration, htmlConfiguration1;
  this.verticalPanel = new VerticalPanel_0;
  this.txtrNewTextarea = new TextArea_1;
  this.txtrNewTextarea1 = new TextArea_1;
  this.btnStartQualityCheck = new Button_2('Start Quality Check');
  this.btnStartAllQualityCheck = new Button_2('Quality Check All Saved Files');
  $setHorizontalAlign_0(this.verticalPanel, ($clinit_Style$HorizontalAlignment() , CENTER));
  horizontalPanel = new HorizontalPanel_0;
  $setHorizontalAlign(horizontalPanel, CENTER);
  htmlConfiguration = new HTML_2('Configuration 0');
  $insert_1(horizontalPanel, htmlConfiguration, horizontalPanel.items.size_0);
  htmlConfiguration.element.style['width'] = '120px';
  htmlConfiguration1 = new HTML_2('Configuration 1');
  $insert_1(horizontalPanel, htmlConfiguration1, horizontalPanel.items.size_0);
  htmlConfiguration1.element.style['width'] = '123px';
  $add_8(this.verticalPanel, horizontalPanel);
  $setSize_3(horizontalPanel, '298px', '25px');
  horizontalPanel1 = new HorizontalPanel_0;
  $setHorizontalAlign(horizontalPanel1, CENTER);
  $add_8(horizontalPanel1, this.txtrNewTextarea);
  $setSize_3(this.txtrNewTextarea, '127px', '107px');
  $setFieldLabel(this.txtrNewTextarea);
  $setReadOnly(this.txtrNewTextarea);
  $setReadOnly(this.txtrNewTextarea1);
  $add_8(horizontalPanel1, this.txtrNewTextarea1);
  $setSize_3(this.txtrNewTextarea1, '127px', '107px');
  $setFieldLabel(this.txtrNewTextarea1);
  $add_8(this.verticalPanel, horizontalPanel1);
  $setSize_3(horizontalPanel1, 'undefined', '107px');
  $add_8(this.verticalPanel, this.btnStartQualityCheck);
  $setWidth_0(this.btnStartQualityCheck, '232px');
  $add_8(this.verticalPanel, this.btnStartAllQualityCheck);
  $setWidth_0(this.btnStartAllQualityCheck, '232px');
  $setSize_3(this.verticalPanel, '299px', '159px');
}

defineSeed(688, 1, {}, QualityCheckGUI_0);
function ArithmeticException_0(){
  RuntimeException_0.call(this, 'divide by zero');
}

defineSeed(689, 300, makeCastMap([Q$Serializable, Q$Exception, Q$Throwable]), ArithmeticException_0);
function ArrayStoreException_0(){
  $fillInStackTrace();
}

defineSeed(690, 300, makeCastMap([Q$Serializable, Q$Exception, Q$Throwable]), ArrayStoreException_0);
function $clinit_Boolean(){
  $clinit_Boolean = nullMethod;
  FALSE_0 = new Boolean_1(false);
  TRUE_0 = new Boolean_1(true);
}

function $compareTo_2(this$static, other){
  return this$static.value_0 == other.value_0?0:this$static.value_0?1:-1;
}

function Boolean_1(value){
  $clinit_Boolean();
  this.value_0 = value;
}

defineSeed(691, 1, makeCastMap([Q$Serializable, Q$Boolean, Q$Comparable]), Boolean_1);
_.compareTo$ = function compareTo_2(other){
  return $compareTo_2(this, dynamicCast(other, Q$Boolean));
}
;
_.equals$ = function equals_20(o){
  return instanceOf(o, Q$Boolean) && dynamicCast(o, Q$Boolean).value_0 == this.value_0;
}
;
_.hashCode$ = function hashCode_19(){
  return this.value_0?1231:1237;
}
;
_.toString$ = function toString_28(){
  return this.value_0?'true':'false';
}
;
_.value_0 = false;
var FALSE_0, TRUE_0;
function digit_0(c, radix){
  if (radix < 2 || radix > 36) {
    return -1;
  }
  if (c >= 48 && c < 48 + (radix < 10?radix:10)) {
    return c - 48;
  }
  if (c >= 97 && c < radix + 97 - 10) {
    return c - 97 + 10;
  }
  if (c >= 65 && c < radix + 65 - 10) {
    return c - 65 + 10;
  }
  return -1;
}

function Class_0(){
}

function createForArray(packageName, className, seedId){
  var clazz;
  clazz = new Class_0;
  clazz.typeName = packageName + className;
  isInstantiable(seedId != 0?-seedId:0) && setClassLiteral(seedId != 0?-seedId:0, clazz);
  clazz.modifiers = 4;
  return clazz;
}

function createForClass(packageName, className, seedId){
  var clazz;
  clazz = new Class_0;
  clazz.typeName = packageName + className;
  isInstantiable(seedId) && setClassLiteral(seedId, clazz);
  return clazz;
}

function createForEnum(packageName, className, seedId, enumConstantsFunc){
  var clazz;
  clazz = new Class_0;
  clazz.typeName = packageName + className;
  isInstantiable(seedId) && setClassLiteral(seedId, clazz);
  clazz.modifiers = enumConstantsFunc?8:0;
  return clazz;
}

function getSeedFunction(clazz){
  var func = seedTable[clazz.seedId];
  clazz = null;
  return func;
}

function isInstantiable(seedId){
  return typeof seedId == 'number' && seedId > 0;
}

function setClassLiteral(seedId, clazz){
  var proto;
  clazz.seedId = seedId;
  if (seedId == 2) {
    proto = String.prototype;
  }
   else {
    if (seedId > 0) {
      var seed = getSeedFunction(clazz);
      if (seed) {
        proto = seed.prototype;
      }
       else {
        seed = seedTable[seedId] = function(){
        }
        ;
        seed.___clazz$ = clazz;
        return;
      }
    }
     else {
      return;
    }
  }
  proto.___clazz$ = clazz;
}

defineSeed(693, 1, {}, Class_0);
_.toString$ = function toString_29(){
  return ((this.modifiers & 2) != 0?'interface ':(this.modifiers & 1) != 0?'':'class ') + this.typeName;
}
;
_.modifiers = 0;
_.seedId = 0;
_.typeName = null;
function ClassCastException_0(){
  $fillInStackTrace();
}

defineSeed(694, 300, makeCastMap([Q$Serializable, Q$Exception, Q$Throwable]), ClassCastException_0);
function __decodeNumberString(s){
  var negative, radix;
  if (s.indexOf('-') == 0) {
    negative = true;
    s = $substring(s, 1);
  }
   else {
    negative = false;
  }
  if (s.indexOf('0x') == 0 || s.indexOf('0X') == 0) {
    s = $substring(s, 2);
    radix = 16;
  }
   else if (s.indexOf('#') == 0) {
    s = $substring(s, 1);
    radix = 16;
  }
   else 
    s.indexOf('0') == 0?(radix = 8):(radix = 10);
  negative && (s = '-' + s);
  return new Number$__Decode_0(radix, s);
}

function __parseAndValidateDouble(s){
  var floatRegex;
  if (!(floatRegex = floatRegex_0 , !floatRegex && (floatRegex = floatRegex_0 = /^\s*[+-]?(NaN|Infinity|((\d+\.?\d*)|(\.\d+))([eE][+-]?\d+)?[dDfF]?)\s*$/) , floatRegex.test(s))) {
    throw new NumberFormatException_0('For input string: "' + s + '"');
  }
  return parseFloat(s);
}

function __parseAndValidateInt(s, radix){
  var i, length_0, startIndex, toReturn;
  if (s == null) {
    throw new NumberFormatException_0('null');
  }
  if (radix < 2 || radix > 36) {
    throw new NumberFormatException_0('radix ' + radix + ' out of range');
  }
  length_0 = s.length;
  startIndex = length_0 > 0 && s.charCodeAt(0) == 45?1:0;
  for (i = startIndex; i < length_0; ++i) {
    if (digit_0(s.charCodeAt(i), radix) == -1) {
      throw new NumberFormatException_0('For input string: "' + s + '"');
    }
  }
  toReturn = parseInt(s, radix);
  if (isNaN(toReturn)) {
    throw new NumberFormatException_0('For input string: "' + s + '"');
  }
   else if (toReturn < -2147483648 || toReturn > 2147483647) {
    throw new NumberFormatException_0('For input string: "' + s + '"');
  }
  return toReturn;
}

function __parseAndValidateLong(s){
  var c, firstTime, head, i, length_0, maxDigits, minValue, negative, orig, radixPower, toReturn;
  if (s == null) {
    throw new NumberFormatException_0('null');
  }
  orig = s;
  length_0 = s.length;
  negative = length_0 > 0 && s.charCodeAt(0) == 45;
  if (negative) {
    s = $substring(s, 1);
    --length_0;
  }
  if (length_0 == 0) {
    throw new NumberFormatException_0('For input string: "' + orig + '"');
  }
  while (s.length > 0 && s.charCodeAt(0) == 48) {
    s = $substring(s, 1);
    --length_0;
  }
  if (length_0 > ($clinit_Number$__ParseLong() , maxLengthForRadix)[10]) {
    throw new NumberFormatException_0('For input string: "' + orig + '"');
  }
  for (i = 0; i < length_0; ++i) {
    c = s.charCodeAt(i);
    if (c >= 48 && c < 58) {
      continue;
    }
    if (c >= 97 && c < 97) {
      continue;
    }
    if (c >= 65 && c < 65) {
      continue;
    }
    throw new NumberFormatException_0('For input string: "' + orig + '"');
  }
  toReturn = P0_longLit;
  maxDigits = maxDigitsForRadix[10];
  radixPower = fromInt(maxDigitsRadixPower[10]);
  minValue = neg(maxValueForRadix[10]);
  firstTime = true;
  head = length_0 % maxDigits;
  if (head > 0) {
    toReturn = fromInt(-__parseInt(s.substr(0, head - 0), 10));
    s = $substring(s, head);
    length_0 -= head;
    firstTime = false;
  }
  while (length_0 >= maxDigits) {
    head = __parseInt(s.substr(0, maxDigits - 0), 10);
    s = $substring(s, maxDigits);
    length_0 -= maxDigits;
    if (firstTime) {
      firstTime = false;
    }
     else {
      if (!gte_0(toReturn, minValue)) {
        throw new NumberFormatException_0(s);
      }
      toReturn = mul(toReturn, radixPower);
    }
    toReturn = sub_0(toReturn, fromInt(head));
  }
  if (gt(toReturn, P0_longLit)) {
    throw new NumberFormatException_0('For input string: "' + orig + '"');
  }
  if (!negative) {
    toReturn = neg(toReturn);
    if (lt(toReturn, P0_longLit)) {
      throw new NumberFormatException_0('For input string: "' + orig + '"');
    }
  }
  return toReturn;
}

function __parseInt(s, radix){
  return parseInt(s, radix);
}

defineSeed(696, 1, makeCastMap([Q$Serializable, Q$Number]));
var floatRegex_0 = null;
function $compareTo_3(this$static, b){
  return compare(this$static.value_0, b.value_0);
}

function Double_0(value){
  this.value_0 = value;
}

function compare(x, y){
  if (isNaN(x)) {
    return isNaN(y)?0:1;
  }
   else if (isNaN(y)) {
    return -1;
  }
  return x < y?-1:x > y?1:0;
}

defineSeed(695, 696, makeCastMap([Q$Serializable, Q$Comparable, Q$Double, Q$Number]), Double_0);
_.compareTo$ = function compareTo_3(b){
  return $compareTo_3(this, dynamicCast(b, Q$Double));
}
;
_.equals$ = function equals_21(o){
  return instanceOf(o, Q$Double) && dynamicCast(o, Q$Double).value_0 == this.value_0;
}
;
_.hashCode$ = function hashCode_20(){
  return round_int(this.value_0);
}
;
_.toString$ = function toString_30(){
  return '' + this.value_0;
}
;
_.value_0 = 0;
function $compareTo_4(this$static, b){
  return this$static.value_0 < b.value_0?-1:this$static.value_0 > b.value_0?1:0;
}

function Float_0(value){
  this.value_0 = value;
}

function Float_1(s){
  this.value_0 = parseFloat_1(s);
}

function parseFloat_1(s){
  var doubleValue;
  doubleValue = __parseAndValidateDouble(s);
  if (doubleValue > 3.4028234663852886E38) {
    return Infinity;
  }
   else if (doubleValue < -3.4028234663852886E38) {
    return -Infinity;
  }
  return doubleValue;
}

defineSeed(697, 696, makeCastMap([Q$Serializable, Q$Comparable, Q$Float, Q$Number]), Float_0, Float_1);
_.compareTo$ = function compareTo_4(b){
  return $compareTo_4(this, dynamicCast(b, Q$Float));
}
;
_.equals$ = function equals_22(o){
  return instanceOf(o, Q$Float) && dynamicCast(o, Q$Float).value_0 == this.value_0;
}
;
_.hashCode$ = function hashCode_21(){
  return round_int(this.value_0);
}
;
_.toString$ = function toString_31(){
  return '' + this.value_0;
}
;
_.value_0 = 0;
function IllegalArgumentException_0(message){
  RuntimeException_0.call(this, message);
}

defineSeed(698, 300, makeCastMap([Q$Serializable, Q$Exception, Q$Throwable]), IllegalArgumentException_0);
function IllegalStateException_0(){
  $fillInStackTrace();
}

function IllegalStateException_1(s){
  RuntimeException_0.call(this, s);
}

defineSeed(699, 300, makeCastMap([Q$Serializable, Q$Exception, Q$Throwable]), IllegalStateException_0, IllegalStateException_1);
function IndexOutOfBoundsException_0(){
  $fillInStackTrace();
}

function IndexOutOfBoundsException_1(message){
  RuntimeException_0.call(this, message);
}

defineSeed(700, 300, makeCastMap([Q$Serializable, Q$Exception, Q$Throwable]), IndexOutOfBoundsException_0, IndexOutOfBoundsException_1);
function $compareTo_5(this$static, b){
  return this$static.value_0 < b.value_0?-1:this$static.value_0 > b.value_0?1:0;
}

function Integer_0(value){
  this.value_0 = value;
}

function numberOfLeadingZeros_0(i){
  var m_0, n, y;
  if (i < 0) {
    return 0;
  }
   else if (i == 0) {
    return 32;
  }
   else {
    y = -(i >> 16);
    m_0 = y >> 16 & 16;
    n = 16 - m_0;
    i = i >> m_0;
    y = i - 256;
    m_0 = y >> 16 & 8;
    n += m_0;
    i <<= m_0;
    y = i - 4096;
    m_0 = y >> 16 & 4;
    n += m_0;
    i <<= m_0;
    y = i - 16384;
    m_0 = y >> 16 & 2;
    n += m_0;
    i <<= m_0;
    y = i >> 14;
    m_0 = y & ~(y >> 1);
    return n + 2 - m_0;
  }
}

function numberOfTrailingZeros(i){
  var r, rtn;
  if (i == 0) {
    return 32;
  }
   else {
    rtn = 0;
    for (r = 1; (r & i) == 0; r <<= 1) {
      ++rtn;
    }
    return rtn;
  }
}

function toPowerOfTwoString(value){
  var buf, digits, pos;
  buf = initDim(_3C_classLit, makeCastMap([Q$Serializable]), -1, 8, 1);
  digits = ($clinit_Number$__Digits() , digits_0);
  pos = 7;
  if (value >= 0) {
    while (value > 15) {
      buf[pos--] = digits[value & 15];
      value >>= 4;
    }
  }
   else {
    while (pos > 0) {
      buf[pos--] = digits[value & 15];
      value >>= 4;
    }
  }
  buf[pos] = digits[value & 15];
  return __valueOf(buf, pos, 8);
}

function valueOf(i){
  var rebase, result;
  if (i > -129 && i < 128) {
    rebase = i + 128;
    result = ($clinit_Integer$BoxedValues() , boxedValues_0)[rebase];
    !result && (result = boxedValues_0[rebase] = new Integer_0(i));
    return result;
  }
  return new Integer_0(i);
}

defineSeed(701, 696, makeCastMap([Q$Serializable, Q$Comparable, Q$Integer, Q$Number]), Integer_0);
_.compareTo$ = function compareTo_5(b){
  return $compareTo_5(this, dynamicCast(b, Q$Integer));
}
;
_.equals$ = function equals_23(o){
  return instanceOf(o, Q$Integer) && dynamicCast(o, Q$Integer).value_0 == this.value_0;
}
;
_.hashCode$ = function hashCode_22(){
  return this.value_0;
}
;
_.toString$ = function toString_32(){
  return '' + this.value_0;
}
;
_.value_0 = 0;
function $clinit_Integer$BoxedValues(){
  $clinit_Integer$BoxedValues = nullMethod;
  boxedValues_0 = initDim(_3Ljava_lang_Integer_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$Integer, 256, 0);
}

var boxedValues_0;
function signum(i){
  return eq(i, P0_longLit)?0:lt(i, P0_longLit)?-1:1;
}

function abs(x){
  return x <= 0?0 - x:x;
}

function abs_0(x){
  return x < 0?-x:x;
}

function max_0(x, y){
  return x > y?x:y;
}

function min_0(x, y){
  return x < y?x:y;
}

function pow(x, exp){
  return Math.pow(x, exp);
}

function NullPointerException_0(){
  $fillInStackTrace();
}

function NullPointerException_1(message){
  RuntimeException_0.call(this, message);
}

defineSeed(705, 300, makeCastMap([Q$Serializable, Q$Exception, Q$Throwable]), NullPointerException_0, NullPointerException_1);
function Number$__Decode_0(radix, payload){
  this.radix = radix;
  this.payload = payload;
}

defineSeed(706, 1, {}, Number$__Decode_0);
_.payload = null;
_.radix = 0;
function $clinit_Number$__Digits(){
  $clinit_Number$__Digits = nullMethod;
  digits_0 = initValues(_3C_classLit, makeCastMap([Q$Serializable]), -1, [48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122]);
}

var digits_0;
--></script>
<script><!--
function $clinit_Number$__ParseLong(){
  $clinit_Number$__ParseLong = nullMethod;
  var i;
  maxDigitsForRadix = initValues(_3I_classLit, makeCastMap([Q$Serializable]), -1, [-1, -1, 30, 19, 15, 13, 11, 11, 10, 9, 9, 8, 8, 8, 8, 7, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5]);
  maxDigitsRadixPower = initDim(_3I_classLit, makeCastMap([Q$Serializable]), -1, 37, 1);
  maxLengthForRadix = initValues(_3I_classLit, makeCastMap([Q$Serializable]), -1, [-1, -1, 63, 40, 32, 28, 25, 23, 21, 20, 19, 19, 18, 18, 17, 17, 16, 16, 16, 15, 15, 15, 15, 14, 14, 14, 14, 14, 14, 13, 13, 13, 13, 13, 13, 13, 13]);
  maxValueForRadix = initDim(_3J_classLit, makeCastMap([Q$Serializable]), -1, 37, 3);
  for (i = 2; i <= 36; ++i) {
    maxDigitsRadixPower[i] = round_int(pow(i, maxDigitsForRadix[i]));
    maxValueForRadix[i] = div_0(P7fffffffffffffff_longLit, fromInt(maxDigitsRadixPower[i]));
  }
}

var maxDigitsForRadix, maxDigitsRadixPower, maxLengthForRadix, maxValueForRadix;
function NumberFormatException_0(message){
  IllegalArgumentException_0.call(this, message);
}

defineSeed(709, 698, makeCastMap([Q$Serializable, Q$Exception, Q$Throwable]), NumberFormatException_0);
function StackTraceElement_0(methodName){
  this.className_0 = 'Unknown';
  this.methodName = methodName;
  this.lineNumber = -1;
}

defineSeed(710, 1, makeCastMap([Q$Serializable, Q$StackTraceElement]), StackTraceElement_0);
_.toString$ = function toString_33(){
  return this.className_0 + '.' + this.methodName + '(Unknown Source' + (this.lineNumber >= 0?':' + this.lineNumber:'') + ')';
}
;
_.className_0 = null;
_.lineNumber = 0;
_.methodName = null;
function $charAt(this$static, index){
  return this$static.charCodeAt(index);
}

function $endsWith(this$static, suffix){
  return this$static.lastIndexOf(suffix) != -1 && this$static.lastIndexOf(suffix) == this$static.length - suffix.length;
}

function $equals_2(this$static, other){
  if (!instanceOf(other, Q$String)) {
    return false;
  }
  return String(this$static) == other;
}

function $equalsIgnoreCase(this$static, other){
  if (other == null)
    return false;
  return this$static == other || this$static.toLowerCase() == other.toLowerCase();
}

function $indexOf_3(this$static, str){
  return this$static.indexOf(str);
}

function $indexOf_4(this$static, str, startIndex){
  return this$static.indexOf(str, startIndex);
}

function $replace_1(this$static, from, to){
  var regex, replacement;
  regex = $replaceAll(from, '([/\\\\\\.\\*\\+\\?\\|\\(\\)\\[\\]\\{\\}$^])', '\\\\$1');
  replacement = $replaceAll($replaceAll(to, '\\\\', '\\\\\\\\'), '\\$', '\\\\$');
  return $replaceAll(this$static, regex, replacement);
}

function $replaceAll(this$static, regex, replace){
  replace = __translateReplaceString(replace);
  return this$static.replace(RegExp(regex, 'g'), replace);
}

function $split(this$static, regex, maxMatch){
  var compiled = new RegExp(regex, 'g');
  var out = [];
  var count = 0;
  var trail = this$static;
  var lastTrail = null;
  while (true) {
    var matchObj = compiled.exec(trail);
    if (matchObj == null || trail == '' || count == maxMatch - 1 && maxMatch > 0) {
      out[count] = trail;
      break;
    }
     else {
      out[count] = trail.substring(0, matchObj.index);
      trail = trail.substring(matchObj.index + matchObj[0].length, trail.length);
      compiled.lastIndex = 0;
      if (lastTrail == trail) {
        out[count] = trail.substring(0, 1);
        trail = trail.substring(1);
      }
      lastTrail = trail;
      count++;
    }
  }
  if (maxMatch == 0 && this$static.length > 0) {
    var lastNonEmpty = out.length;
    while (lastNonEmpty > 0 && out[lastNonEmpty - 1] == '') {
      --lastNonEmpty;
    }
    lastNonEmpty < out.length && out.splice(lastNonEmpty, out.length - lastNonEmpty);
  }
  var jr = __createArray(out.length);
  for (var i = 0; i < out.length; ++i) {
    jr[i] = out[i];
  }
  return jr;
}

function $startsWith(this$static, prefix, toffset){
  return !(toffset < 0 || toffset >= this$static.length) && this$static.indexOf(prefix, toffset) == toffset;
}

function $substring(this$static, beginIndex){
  return this$static.substr(beginIndex, this$static.length - beginIndex);
}

function $substring_0(this$static, beginIndex, endIndex){
  return this$static.substr(beginIndex, endIndex - beginIndex);
}

function $trim(this$static){
  if (this$static.length == 0 || this$static[0] > ' ' && this$static[this$static.length - 1] > ' ') {
    return this$static;
  }
  var r1 = this$static.replace(/^(\s*)/, '');
  var r2 = r1.replace(/\s*$/, '');
  return r2;
}

function __createArray(numElements){
  return initDim(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, numElements, 0);
}

function __translateReplaceString(replaceStr){
  var pos;
  pos = 0;
  while (0 <= (pos = replaceStr.indexOf('\\', pos))) {
    replaceStr.charCodeAt(pos + 1) == 36?(replaceStr = replaceStr.substr(0, pos - 0) + '$' + $substring(replaceStr, ++pos)):(replaceStr = replaceStr.substr(0, pos - 0) + $substring(replaceStr, ++pos));
  }
  return replaceStr;
}

function __valueOf(x, start, end){
  x = x.slice(start, end);
  return String.fromCharCode.apply(null, x);
}

function compareTo_7(thisStr, otherStr){
  thisStr = String(thisStr);
  if (thisStr == otherStr) {
    return 0;
  }
  return thisStr < otherStr?-1:1;
}

function fromCodePoint(codePoint){
  var hiSurrogate, loSurrogate;
  if (codePoint >= 65536) {
    hiSurrogate = 55296 + (codePoint - 65536 >> 10 & 1023) & 65535;
    loSurrogate = 56320 + (codePoint - 65536 & 1023) & 65535;
    return String.fromCharCode(hiSurrogate) + String.fromCharCode(loSurrogate);
  }
   else {
    return String.fromCharCode(codePoint & 65535);
  }
}

function valueOf_0(x){
  return String.fromCharCode.apply(null, x);
}

_ = String.prototype;
_.castableTypeMap$ = makeCastMap([Q$String, Q$Serializable, Q$CharSequence, Q$Comparable]);
_.compareTo$ = function compareTo_6(other){
  return compareTo_7(this, dynamicCast(other, Q$String));
}
;
_.equals$ = function equals_24(other){
  return $equals_2(this, other);
}
;
_.hashCode$ = function hashCode_23(){
  return getHashCode_0(this);
}
;
_.toString$ = _.toString;
function $clinit_String$HashCache(){
  $clinit_String$HashCache = nullMethod;
  back_0 = {};
  front = {};
}

function compute(str){
  var hashCode, i, n, nBatch;
  hashCode = 0;
  n = str.length;
  nBatch = n - 4;
  i = 0;
  while (i < nBatch) {
    hashCode = str.charCodeAt(i + 3) + 31 * (str.charCodeAt(i + 2) + 31 * (str.charCodeAt(i + 1) + 31 * (str.charCodeAt(i) + 31 * hashCode))) | 0;
    i += 4;
  }
  while (i < n) {
    hashCode = hashCode * 31 + $charAt(str, i++);
  }
  return hashCode | 0;
}

function getHashCode_0(str){
  $clinit_String$HashCache();
  var key = ':' + str;
  var result = front[key];
  if (result != null) {
    return result;
  }
  result = back_0[key];
  result == null && (result = compute(str));
  increment();
  return front[key] = result;
}

function increment(){
  if (count_1 == 256) {
    back_0 = front;
    front = {};
    count_1 = 0;
  }
  ++count_1;
}

var back_0, count_1 = 0, front;
function $$init_0(this$static){
  this$static.impl = new StringBufferImplAppend_0;
}

function $append_3(this$static, x){
  $append_0(this$static.impl, x);
  return this$static;
}

function $append_4(this$static, x){
  $append_1(this$static.impl, x);
  return this$static;
}

function $append_5(this$static, x){
  $appendNonNull(this$static.impl, valueOf_0(x));
  return this$static;
}

function $delete(this$static, end){
  return $replace(this$static.impl, 0, end, '') , this$static;
}

function StringBuffer_0(){
  $$init_0(this);
}

function StringBuffer_1(){
  $$init_0(this);
}

function StringBuffer_2(s){
  $$init_0(this);
  $append_1(this.impl, s);
}

defineSeed(712, 1, makeCastMap([Q$CharSequence]), StringBuffer_0, StringBuffer_1, StringBuffer_2);
_.toString$ = function toString_34(){
  return this.impl.string;
}
;
function $$init_1(this$static){
  this$static.impl = new StringBufferImplAppend_0;
}

function $append_6(this$static, x){
  $append_1(this$static.impl, x);
  return this$static;
}

function $charAt_0(this$static, index){
  return $charAt(this$static.impl.string, index);
}

function $delete_0(this$static, start, end){
  return $replace(this$static.impl, start, end, '') , this$static;
}

function $insert_10(this$static, index, x){
  return $replace(this$static.impl, index, index, x) , this$static;
}

function $replace_2(this$static, start, end, toInsert){
  $replace(this$static.impl, start, end, toInsert);
  return this$static;
}

function $setCharAt(this$static, index, x){
  $replace_2(this$static, index, index + 1, String.fromCharCode(x));
}

function StringBuilder_0(){
  $$init_1(this);
}

function StringBuilder_1(s){
  $$init_1(this);
  $append_1(this.impl, s);
}

defineSeed(713, 1, makeCastMap([Q$CharSequence]), StringBuilder_0, StringBuilder_1);
_.toString$ = function toString_35(){
  return this.impl.string;
}
;
function currentTimeMillis0(){
  return (new Date).getTime();
}

function UnsupportedOperationException_0(){
  $fillInStackTrace();
}

function UnsupportedOperationException_1(message){
  RuntimeException_0.call(this, message);
}

defineSeed(715, 300, makeCastMap([Q$Serializable, Q$Exception, Q$Throwable]), UnsupportedOperationException_0, UnsupportedOperationException_1);
function $addAllHashEntries(this$static, dest){
  var hashCodeMap = this$static.hashCodeMap;
  for (var hashCode in hashCodeMap) {
    var hashCodeInt = parseInt(hashCode, 10);
    if (hashCode == hashCodeInt) {
      var array = hashCodeMap[hashCodeInt];
      for (var i = 0, c = array.length; i < c; ++i) {
        dest.add_0(array[i]);
      }
    }
  }
}

function $addAllStringEntries(this$static, dest){
  var stringMap = this$static.stringMap;
  for (var key in stringMap) {
    if (key.charCodeAt(0) == 58) {
      var entry = new AbstractHashMap$MapEntryString_0(this$static, key.substring(1));
      dest.add_0(entry);
    }
  }
}

function $clearImpl(this$static){
  this$static.hashCodeMap = [];
  this$static.stringMap = {};
  this$static.nullSlotLive = false;
  this$static.nullSlot = null;
  this$static.size_0 = 0;
}

function $containsKey_2(this$static, key){
  return key == null?this$static.nullSlotLive:instanceOf(key, Q$String)?$hasStringValue(this$static, dynamicCast(key, Q$String)):$hasHashValue(this$static, key, ~~hashCode__devirtual$(key));
}

function $get_8(this$static, key){
  return key == null?this$static.nullSlot:instanceOf(key, Q$String)?$getStringValue(this$static, dynamicCast(key, Q$String)):$getHashValue(this$static, key, ~~hashCode__devirtual$(key));
}

function $getHashValue(this$static, key, hashCode){
  var array = this$static.hashCodeMap[hashCode];
  if (array) {
    for (var i = 0, c = array.length; i < c; ++i) {
      var entry = array[i];
      var entryKey = entry.getKey();
      if (this$static.equalsBridge(key, entryKey)) {
        return entry.getValue();
      }
    }
  }
  return null;
}

function $getStringValue(this$static, key){
  return this$static.stringMap[':' + key];
}

function $hasHashValue(this$static, key, hashCode){
  var array = this$static.hashCodeMap[hashCode];
  if (array) {
    for (var i = 0, c = array.length; i < c; ++i) {
      var entry = array[i];
      var entryKey = entry.getKey();
      if (this$static.equalsBridge(key, entryKey)) {
        return true;
      }
    }
  }
  return false;
}

function $hasStringValue(this$static, key){
  return ':' + key in this$static.stringMap;
}

function $put_5(this$static, key, value){
  return key == null?$putNullSlot(this$static, value):instanceOf(key, Q$String)?$putStringValue(this$static, dynamicCast(key, Q$String), value):$putHashValue(this$static, key, value, ~~hashCode__devirtual$(key));
}

function $putHashValue(this$static, key, value, hashCode){
  var array = this$static.hashCodeMap[hashCode];
  if (array) {
    for (var i = 0, c = array.length; i < c; ++i) {
      var entry = array[i];
      var entryKey = entry.getKey();
      if (this$static.equalsBridge(key, entryKey)) {
        var previous = entry.getValue();
        entry.setValue(value);
        return previous;
      }
    }
  }
   else {
    array = this$static.hashCodeMap[hashCode] = [];
  }
  var entry = new MapEntryImpl_0(key, value);
  array.push(entry);
  ++this$static.size_0;
  return null;
}

function $putNullSlot(this$static, value){
  var result;
  result = this$static.nullSlot;
  this$static.nullSlot = value;
  if (!this$static.nullSlotLive) {
    this$static.nullSlotLive = true;
    ++this$static.size_0;
  }
  return result;
}

function $putStringValue(this$static, key, value){
  var result, stringMap = this$static.stringMap;
  key = ':' + key;
  key in stringMap?(result = stringMap[key]):++this$static.size_0;
  stringMap[key] = value;
  return result;
}

function $remove_20(this$static, key){
  return key == null?$removeNullSlot(this$static):instanceOf(key, Q$String)?$removeStringValue(this$static, dynamicCast(key, Q$String)):$removeHashValue(this$static, key, ~~hashCode__devirtual$(key));
}

function $removeHashValue(this$static, key, hashCode){
  var array = this$static.hashCodeMap[hashCode];
  if (array) {
    for (var i = 0, c = array.length; i < c; ++i) {
      var entry = array[i];
      var entryKey = entry.getKey();
      if (this$static.equalsBridge(key, entryKey)) {
        array.length == 1?delete this$static.hashCodeMap[hashCode]:array.splice(i, 1);
        --this$static.size_0;
        return entry.getValue();
      }
    }
  }
  return null;
}

function $removeNullSlot(this$static){
  var result;
  result = this$static.nullSlot;
  this$static.nullSlot = null;
  if (this$static.nullSlotLive) {
    this$static.nullSlotLive = false;
    --this$static.size_0;
  }
  return result;
}

function $removeStringValue(this$static, key){
  var result, stringMap = this$static.stringMap;
  key = ':' + key;
  if (key in stringMap) {
    result = stringMap[key];
    --this$static.size_0;
    delete stringMap[key];
  }
  return result;
}

defineSeed(716, 68, makeCastMap([Q$Map]));
_.containsKey = function containsKey_1(key){
  return $containsKey_2(this, key);
}
;
_.entrySet = function entrySet_1(){
  return new AbstractHashMap$EntrySet_0(this);
}
;
_.equalsBridge = function equalsBridge(value1, value2){
  return maskUndefined(value1) === maskUndefined(value2) || value1 != null && equals__devirtual$(value1, value2);
}
;
_.get_0 = function get_4(key){
  return $get_8(this, key);
}
;
_.put = function put_2(key, value){
  return $put_5(this, key, value);
}
;
_.remove_1 = function remove_30(key){
  return $remove_20(this, key);
}
;
_.size_1 = function size_7(){
  return this.size_0;
}
;
_.hashCodeMap = null;
_.nullSlot = null;
_.nullSlotLive = false;
_.size_0 = 0;
_.stringMap = null;
function $contains_1(this$static, o){
  var entry, key, value;
  if (instanceOf(o, Q$Map$Entry)) {
    entry = dynamicCast(o, Q$Map$Entry);
    key = entry.getKey();
    if ($containsKey_2(this$static.this$0, key)) {
      value = $get_8(this$static.this$0, key);
      return $equals_3(entry.getValue(), value);
    }
  }
  return false;
}

function AbstractHashMap$EntrySet_0(this$0){
  this.this$0 = this$0;
}

defineSeed(717, 70, makeCastMap([Q$Iterable, Q$Set]), AbstractHashMap$EntrySet_0);
_.contains_0 = function contains_5(o){
  return $contains_1(this, o);
}
;
_.iterator_0 = function iterator_11(){
  return new AbstractHashMap$EntrySetIterator_0(this.this$0);
}
;
_.remove_2 = function remove_31(entry){
  var key;
  if ($contains_1(this, entry)) {
    key = dynamicCast(entry, Q$Map$Entry).getKey();
    $remove_20(this.this$0, key);
    return true;
  }
  return false;
}
;
_.size_1 = function size_8(){
  return this.this$0.size_0;
}
;
_.this$0 = null;
function AbstractHashMap$EntrySetIterator_0(this$0){
  var list;
  this.this$0 = this$0;
  list = new ArrayList_0;
  this$0.nullSlotLive && $add_17(list, new AbstractHashMap$MapEntryNull_0(this$0));
  $addAllStringEntries(this$0, list);
  $addAllHashEntries(this$0, list);
  this.iter = new AbstractList$IteratorImpl_0(list);
}

defineSeed(718, 1, {}, AbstractHashMap$EntrySetIterator_0);
_.hasNext = function hasNext_4(){
  return $hasNext_0(this.iter);
}
;
_.next_0 = function next_5(){
  return this.last = dynamicCast($next_3(this.iter), Q$Map$Entry);
}
;
_.remove_3 = function remove_32(){
  if (!this.last) {
    throw new IllegalStateException_1('Must call next() before remove().');
  }
   else {
    $remove_21(this.iter);
    $remove_20(this.this$0, this.last.getKey());
    this.last = null;
  }
}
;
_.iter = null;
_.last = null;
_.this$0 = null;
defineSeed(720, 1, makeCastMap([Q$Map$Entry]));
_.equals$ = function equals_25(other){
  var entry;
  if (instanceOf(other, Q$Map$Entry)) {
    entry = dynamicCast(other, Q$Map$Entry);
    if (equalsWithNullCheck(this.getKey(), entry.getKey()) && equalsWithNullCheck(this.getValue(), entry.getValue())) {
      return true;
    }
  }
  return false;
}
;
_.hashCode$ = function hashCode_24(){
  var keyHash, valueHash;
  keyHash = 0;
  valueHash = 0;
  this.getKey() != null && (keyHash = hashCode__devirtual$(this.getKey()));
  this.getValue() != null && (valueHash = hashCode__devirtual$(this.getValue()));
  return keyHash ^ valueHash;
}
;
_.toString$ = function toString_36(){
  return this.getKey() + '=' + this.getValue();
}
;
function AbstractHashMap$MapEntryNull_0(this$0){
  this.this$0 = this$0;
}

defineSeed(719, 720, makeCastMap([Q$Map$Entry]), AbstractHashMap$MapEntryNull_0);
_.getKey = function getKey_0(){
  return null;
}
;
_.getValue = function getValue_0(){
  return this.this$0.nullSlot;
}
;
_.setValue = function setValue_2(object){
  return $putNullSlot(this.this$0, object);
}
;
_.this$0 = null;
function AbstractHashMap$MapEntryString_0(this$0, key){
  this.this$0 = this$0;
  this.key = key;
}

defineSeed(721, 720, makeCastMap([Q$Map$Entry]), AbstractHashMap$MapEntryString_0);
_.getKey = function getKey_1(){
  return this.key;
}
;
_.getValue = function getValue_1(){
  return $getStringValue(this.this$0, this.key);
}
;
_.setValue = function setValue_3(object){
  return $putStringValue(this.this$0, this.key, object);
}
;
_.key = null;
_.this$0 = null;
function $hasNext_0(this$static){
  return this$static.i < this$static.this$0_0.size_1();
}

function $next_3(this$static){
  if (this$static.i >= this$static.this$0_0.size_1()) {
    throw new NoSuchElementException_0;
  }
  return this$static.this$0_0.get_2(this$static.last = this$static.i++);
}

function $remove_21(this$static){
  if (this$static.last < 0) {
    throw new IllegalStateException_0;
  }
  this$static.this$0_0.remove_6(this$static.last);
  this$static.i = this$static.last;
  this$static.last = -1;
}

function AbstractList$IteratorImpl_0(this$0){
  this.this$0_0 = this$0;
}

defineSeed(722, 1, {}, AbstractList$IteratorImpl_0);
_.hasNext = function hasNext_5(){
  return $hasNext_0(this);
}
;
_.next_0 = function next_6(){
  return $next_3(this);
}
;
_.remove_3 = function remove_33(){
  $remove_21(this);
}
;
_.i = 0;
_.last = -1;
_.this$0_0 = null;
function $previous(this$static){
  if (this$static.i <= 0) {
    throw new NoSuchElementException_0;
  }
  return this$static.this$0.get_2(this$static.last = --this$static.i);
}

function AbstractList$ListIteratorImpl_0(this$0, start){
  var size;
  this.this$0 = this$0;
  this.this$0_0 = this$0;
  size = this$0.size_1();
  (start < 0 || start > size) && indexOutOfBounds(start, size);
  this.i = start;
}

defineSeed(723, 722, {}, AbstractList$ListIteratorImpl_0);
_.this$0 = null;
function $iterator(this$static){
  var outerIter;
  outerIter = this$static.val$entrySet.iterator_0();
  return new AbstractMap$1$1_0(outerIter);
}

function AbstractMap$1_0(this$0, val$entrySet){
  this.this$0 = this$0;
  this.val$entrySet = val$entrySet;
}

defineSeed(724, 70, makeCastMap([Q$Iterable, Q$Set]), AbstractMap$1_0);
_.contains_0 = function contains_6(key){
  return this.this$0.containsKey(key);
}
;
_.iterator_0 = function iterator_12(){
  return $iterator(this);
}
;
_.size_1 = function size_9(){
  return this.val$entrySet.size_1();
}
;
_.this$0 = null;
_.val$entrySet = null;
function $next_4(this$static){
  var entry;
  entry = dynamicCast(this$static.val$outerIter.next_0(), Q$Map$Entry);
  return entry.getKey();
}

function AbstractMap$1$1_0(val$outerIter){
  this.val$outerIter = val$outerIter;
}

defineSeed(725, 1, {}, AbstractMap$1$1_0);
_.hasNext = function hasNext_6(){
  return this.val$outerIter.hasNext();
}
;
_.next_0 = function next_7(){
  return $next_4(this);
}
;
_.remove_3 = function remove_34(){
  this.val$outerIter.remove_3();
}
;
_.val$outerIter = null;
function insertionSort(array, low, high){
  var i, j, t;
  for (i = low + 1; i < high; ++i) {
    for (j = i; j > low && dynamicCast(array[j - 1], Q$Comparable).compareTo$(array[j]) > 0; --j) {
      t = array[j];
      setCheck(array, j, array[j - 1]);
      setCheck(array, j - 1, t);
    }
  }
}

function merge(src, srcLow, srcMid, srcHigh, dest, destLow, destHigh){
  var topIdx;
  topIdx = srcMid;
  while (destLow < destHigh) {
    topIdx >= srcHigh || srcLow < srcMid && dynamicCast(src[srcLow], Q$Comparable).compareTo$(src[topIdx]) <= 0?setCheck(dest, destLow++, src[srcLow++]):setCheck(dest, destLow++, src[topIdx++]);
  }
}

function mergeSort(x, fromIndex, toIndex){
  var temp;
  temp = cloneSubrange(x, fromIndex, toIndex);
  mergeSort_0(temp, x, fromIndex, toIndex, -fromIndex);
}

function mergeSort_0(temp, array, low, high, ofs){
  var length_0, tempHigh, tempLow, tempMid;
  length_0 = high - low;
  if (length_0 < 7) {
    insertionSort(array, low, high);
    return;
  }
  tempLow = low + ofs;
  tempHigh = high + ofs;
  tempMid = tempLow + (tempHigh - tempLow >> 1);
  mergeSort_0(array, temp, tempLow, tempMid, -ofs);
  mergeSort_0(array, temp, tempMid, tempHigh, -ofs);
  if (dynamicCast(temp[tempMid - 1], Q$Comparable).compareTo$(temp[tempMid]) <= 0) {
    while (low < high) {
      setCheck(array, low++, temp[tempLow++]);
    }
    return;
  }
  merge(temp, tempLow, tempMid, tempHigh, array, low, high);
}

function sort(array){
  mergeSort(array, 0, array.length);
}

function Arrays$ArrayList_0(array){
  this.array = array;
}

defineSeed(727, 584, makeCastMap([Q$Serializable, Q$Iterable, Q$List]), Arrays$ArrayList_0);
_.contains_0 = function contains_7(o){
  return $indexOf_0(this, o) != -1;
}
;
_.get_2 = function get_5(index){
  return checkIndex(index, this.array.length) , this.array[index];
}
;
_.set_0 = function set_2(index, value){
  var was;
  checkIndex(index, this.array.length);
  was = this.array[index];
  setCheck(this.array, index, value);
  return was;
}
;
_.size_1 = function size_10(){
  return this.array.length;
}
;
_.toArray = function toArray_3(){
  return clone(this.array);
}
;
_.toArray_0 = function toArray_4(out){
  var i, size;
  size = this.array.length;
  out.length < size && (out = createFrom(out, size));
  for (i = 0; i < size; ++i) {
    setCheck(out, i, this.array[i]);
  }
  out.length > size && setCheck(out, size, null);
  return out;
}
;
_.array = null;
function $clinit_Collections(){
  $clinit_Collections = nullMethod;
  EMPTY_LIST = new Collections$EmptyList_0;
}

var EMPTY_LIST;
function Collections$EmptyList_0(){
}

defineSeed(729, 584, makeCastMap([Q$Serializable, Q$Iterable, Q$List]), Collections$EmptyList_0);
_.contains_0 = function contains_8(object){
  return false;
}
;
_.get_2 = function get_6(location_0){
  throw new IndexOutOfBoundsException_0;
}
;
_.size_1 = function size_11(){
  return 0;
}
;
function $clinit_Date$StringData(){
  $clinit_Date$StringData = nullMethod;
  DAYS = initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']);
  MONTHS = initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']);
}

var DAYS, MONTHS;
function EmptyStackException_0(){
  $fillInStackTrace();
}

defineSeed(732, 300, makeCastMap([Q$Serializable, Q$Exception, Q$Throwable]), EmptyStackException_0);
function $equals_3(value1, value2){
  return maskUndefined(value1) === maskUndefined(value2) || value1 != null && equals__devirtual$(value1, value2);
}

function HashMap_0(){
  $clearImpl(this);
}

defineSeed(733, 716, makeCastMap([Q$Serializable, Q$Map]), HashMap_0);
function $add_20(this$static, o){
  var old;
  old = $put_5(this$static.map, o, this$static);
  return old == null;
}

function $contains_2(this$static, o){
  return $containsKey_2(this$static.map, o);
}

function $remove_22(this$static, o){
  return $remove_20(this$static.map, o) != null;
}

function HashSet_0(){
  this.map = new HashMap_0;
}

defineSeed(734, 70, makeCastMap([Q$Serializable, Q$Iterable, Q$Set]), HashSet_0);
_.add_0 = function add_10(o){
  return $add_20(this, o);
}
;
_.contains_0 = function contains_9(o){
  return $containsKey_2(this.map, o);
}
;
_.isEmpty = function isEmpty_4(){
  return this.map.size_0 == 0;
}
;
_.iterator_0 = function iterator_13(){
  return $iterator($keySet(this.map));
}
;
_.remove_2 = function remove_35(o){
  return $remove_22(this, o);
}
;
_.size_1 = function size_12(){
  return this.map.size_0;
}
;
_.toString$ = function toString_37(){
  return $toString_1($keySet(this.map));
}
;
_.map = null;
function MapEntryImpl_0(key, value){
  this.key = key;
  this.value_0 = value;
}

defineSeed(735, 720, makeCastMap([Q$Map$Entry]), MapEntryImpl_0);
_.getKey = function getKey_2(){
  return this.key;
}
;
_.getValue = function getValue_2(){
  return this.value_0;
}
;
_.setValue = function setValue_4(value){
  var old;
  old = this.value_0;
  this.value_0 = value;
  return old;
}
;
_.key = null;
_.value_0 = null;
function NoSuchElementException_0(){
  $fillInStackTrace();
}

defineSeed(736, 300, makeCastMap([Q$Serializable, Q$Exception, Q$Throwable]), NoSuchElementException_0);
function $add_21(this$static, o){
  return $add_17(this$static.arrayList, o);
}

defineSeed(738, 584, makeCastMap([Q$Serializable, Q$Iterable, Q$List]));
_.add_1 = function add_11(index, o){
  $add_16(this.arrayList, index, o);
}
;
_.add_0 = function add_12(o){
  return $add_17(this.arrayList, o);
}
;
_.contains_0 = function contains_10(elem){
  return $indexOf_1(this.arrayList, elem, 0) != -1;
}
;
_.get_2 = function get_7(index){
  return $get_6(this.arrayList, index);
}
;
_.isEmpty = function isEmpty_5(){
  return this.arrayList.size_0 == 0;
}
;
_.iterator_0 = function iterator_14(){
  return new AbstractList$IteratorImpl_0(this.arrayList);
}
;
_.remove_6 = function remove_36(index){
  return $remove_14(this.arrayList, index);
}
;
_.set_0 = function set_3(index, elem){
  return $set_11(this.arrayList, index, elem);
}
;
_.size_1 = function size_13(){
  return this.arrayList.size_0;
}
;
_.toArray = function toArray_5(){
  return $toArray(this.arrayList);
}
;
_.toArray_0 = function toArray_6(a){
  return $toArray_0(this.arrayList, a);
}
;
_.toString$ = function toString_38(){
  return $toString_1(this.arrayList);
}
;
_.arrayList = null;
function $pop(this$static){
  var sz;
  sz = this$static.arrayList.size_0;
  if (sz > 0) {
    return $remove_14(this$static.arrayList, sz - 1);
  }
   else {
    throw new EmptyStackException_0;
  }
}

function Stack_0(){
  this.arrayList = new ArrayList_0;
}

defineSeed(737, 738, makeCastMap([Q$Serializable, Q$Iterable, Q$List]), Stack_0);
function equalsWithNullCheck(a, b){
  return maskUndefined(a) === maskUndefined(b) || a != null && equals__devirtual$(a, b);
}

var $entry = entry_0;
function gwtOnLoad(errFn, modName, modBase, softPermutationId){
  $moduleName = modName;
  $moduleBase = modBase;
  if (errFn)
    try {
      $entry(init_2)();
    }
     catch (e) {
      errFn(modName);
    }
   else {
    $entry(init_2)();
  }
}

--></script>
<script><!--
var Ljava_lang_Object_2_classLit = createForClass('java.lang.', 'Object', 1), Lcom_google_gwt_core_client_JavaScriptObject_2_classLit = createForClass('com.google.gwt.core.client.', 'JavaScriptObject$', 76), _3I_classLit = createForArray('', '[I', 745), _3Ljava_lang_Object_2_classLit = createForArray('[Ljava.lang.', 'Object;', 743), Ljava_lang_Throwable_2_classLit = createForClass('java.lang.', 'Throwable', 16), Ljava_lang_Exception_2_classLit = createForClass('java.lang.', 'Exception', 15), Ljava_lang_RuntimeException_2_classLit = createForClass('java.lang.', 'RuntimeException', 300), Ljava_lang_StackTraceElement_2_classLit = createForClass('java.lang.', 'StackTraceElement', 710), _3Ljava_lang_StackTraceElement_2_classLit = createForArray('[Ljava.lang.', 'StackTraceElement;', 746), Lcom_google_gwt_lang_LongLibBase$LongEmul_2_classLit = createForClass('com.google.gwt.lang.', 'LongLibBase$LongEmul', 468), _3Lcom_google_gwt_lang_LongLibBase$LongEmul_2_classLit = createForArray('[Lcom.google.gwt.lang.', 'LongLibBase$LongEmul;', 747), Lcom_google_gwt_lang_SeedUtil_2_classLit = createForClass('com.google.gwt.lang.', 'SeedUtil', 469), Ljava_lang_Enum_2_classLit = createForClass('java.lang.', 'Enum', 34), Lcom_mycompany_project_client_Main_2_classLit = createForClass('com.mycompany.project.client.', 'Main', 630), Lcom_extjs_gxt_ui_client_event_SelectionListener_2_classLit = createForClass('com.extjs.gxt.ui.client.event.', 'SelectionListener', 100), Lcom_mycompany_project_client_Main$1_2_classLit = createForClass('com.mycompany.project.client.', 'Main$1', 631), Ljava_lang_Boolean_2_classLit = createForClass('java.lang.', 'Boolean', 691), Ljava_lang_Number_2_classLit = createForClass('java.lang.', 'Number', 696), Ljava_lang_Number$_1_1Decode_2_classLit = createForClass('java.lang.', 'Number$__Decode', 706), _3C_classLit = createForArray('', '[C', 748), _3J_classLit = createForArray('', '[J', 749), Ljava_lang_Class_2_classLit = createForClass('java.lang.', 'Class', 693), Ljava_lang_Double_2_classLit = createForClass('java.lang.', 'Double', 695), Ljava_lang_Float_2_classLit = createForClass('java.lang.', 'Float', 697), Ljava_lang_Integer_2_classLit = createForClass('java.lang.', 'Integer', 701), _3Ljava_lang_Integer_2_classLit = createForArray('[Ljava.lang.', 'Integer;', 750), Ljava_lang_String_2_classLit = createForClass('java.lang.', 'String', 2), _3Ljava_lang_String_2_classLit = createForArray('[Ljava.lang.', 'String;', 744), Ljava_lang_ClassCastException_2_classLit = createForClass('java.lang.', 'ClassCastException', 694), Ljava_lang_StringBuilder_2_classLit = createForClass('java.lang.', 'StringBuilder', 713), Ljava_lang_ArrayStoreException_2_classLit = createForClass('java.lang.', 'ArrayStoreException', 690), Lcom_google_gwt_core_client_JavaScriptException_2_classLit = createForClass('com.google.gwt.core.client.', 'JavaScriptException', 299), Lcom_google_gwt_dom_client_StyleInjector$StyleInjectorImpl_2_classLit = createForClass('com.google.gwt.dom.client.', 'StyleInjector$StyleInjectorImpl', 377), Lcom_google_gwt_dom_client_StyleInjector$1_2_classLit = createForClass('com.google.gwt.dom.client.', 'StyleInjector$1', 376), Lcom_google_gwt_core_client_Scheduler_2_classLit = createForClass('com.google.gwt.core.client.', 'Scheduler', 305), Lcom_google_gwt_user_client_ui_UIObject_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'UIObject', 146), Lcom_google_gwt_user_client_ui_Widget_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'Widget', 145), Lcom_extjs_gxt_ui_client_widget_Component_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.', 'Component', 144), Lcom_extjs_gxt_ui_client_widget_menu_Item_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.menu.', 'Item', 202), Lcom_extjs_gxt_ui_client_widget_menu_MenuItem_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.menu.', 'MenuItem', 212), Lcom_extjs_gxt_ui_client_widget_Component$1_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.', 'Component$1', 147), Lcom_extjs_gxt_ui_client_widget_Component$2_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.', 'Component$2', 148), Lcom_extjs_gxt_ui_client_widget_Component$2$1_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.', 'Component$2$1', 149), Lcom_extjs_gxt_ui_client_widget_Component$2$2_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.', 'Component$2$2', 150), Lcom_extjs_gxt_ui_client_widget_BoxComponent_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.', 'BoxComponent', 143), Lcom_extjs_gxt_ui_client_widget_Container_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.', 'Container', 153), Lcom_extjs_gxt_ui_client_widget_menu_Menu_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.menu.', 'Menu', 203), Lcom_extjs_gxt_ui_client_event_BaseObservable_2_classLit = createForClass('com.extjs.gxt.ui.client.event.', 'BaseObservable', 50), Lcom_extjs_gxt_ui_client_util_BaseEventPreview_2_classLit = createForClass('com.extjs.gxt.ui.client.util.', 'BaseEventPreview', 53), Lcom_extjs_gxt_ui_client_widget_menu_Menu$1_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.menu.', 'Menu$1', 204), Lcom_extjs_gxt_ui_client_util_KeyNav_2_classLit = createForClass('com.extjs.gxt.ui.client.util.', 'KeyNav', 129), Lcom_extjs_gxt_ui_client_widget_menu_Menu$2_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.menu.', 'Menu$2', 205), Lcom_extjs_gxt_ui_client_widget_menu_Menu$3_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.menu.', 'Menu$3', 206), Lcom_extjs_gxt_ui_client_widget_Container$1_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.', 'Container$1', 154), Lcom_google_web_bindery_event_shared_Event_2_classLit = createForClass('com.google.web.bindery.event.shared.', 'Event', 386), Lcom_google_gwt_event_shared_GwtEvent_2_classLit = createForClass('com.google.gwt.event.shared.', 'GwtEvent', 385), Lcom_google_gwt_user_client_Event$NativePreviewEvent_2_classLit = createForClass('com.google.gwt.user.client.', 'Event$NativePreviewEvent', 513), Lcom_google_web_bindery_event_shared_Event$Type_2_classLit = createForClass('com.google.web.bindery.event.shared.', 'Event$Type', 389), Lcom_google_gwt_event_shared_GwtEvent$Type_2_classLit = createForClass('com.google.gwt.event.shared.', 'GwtEvent$Type', 388), Lcom_google_gwt_user_client_ui_Panel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'Panel', 531), Lcom_google_gwt_user_client_ui_ComplexPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'ComplexPanel', 530), Lcom_google_gwt_user_client_ui_AbsolutePanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'AbsolutePanel', 529), Lcom_google_gwt_user_client_ui_RootPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'RootPanel', 599), Lcom_google_gwt_user_client_ui_RootPanel$DefaultRootPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'RootPanel$DefaultRootPanel', 602), Lcom_google_gwt_user_client_ui_RootPanel$1_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'RootPanel$1', 600), Lcom_google_gwt_user_client_ui_RootPanel$2_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'RootPanel$2', 601), Lcom_google_web_bindery_event_shared_UmbrellaException_2_classLit = createForClass('com.google.web.bindery.event.shared.', 'UmbrellaException', 421), Lcom_google_gwt_event_shared_UmbrellaException_2_classLit = createForClass('com.google.gwt.event.shared.', 'UmbrellaException', 420), Lcom_google_gwt_user_client_ui_AttachDetachException_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'AttachDetachException', 533), Lcom_google_gwt_user_client_ui_AttachDetachException$1_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'AttachDetachException$1', 534), Lcom_google_gwt_user_client_ui_AttachDetachException$2_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'AttachDetachException$2', 535), Lcom_extjs_gxt_ui_client_widget_menu_MenuBar_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.menu.', 'MenuBar', 207), Lcom_extjs_gxt_ui_client_widget_menu_MenuBar$1_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.menu.', 'MenuBar$1', 208), Lcom_extjs_gxt_ui_client_widget_menu_MenuBar$2_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.menu.', 'MenuBar$2', 209), Lcom_google_gwt_user_client_ui_SimplePanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'SimplePanel', 548), Lcom_google_gwt_user_client_ui_ScrollPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'ScrollPanel', 604), Lcom_google_gwt_user_client_ui_SimplePanel$1_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'SimplePanel$1', 605), Lcom_google_gwt_user_client_ui_StackPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'StackPanel', 550), Lcom_google_gwt_user_client_ui_DecoratedStackPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'DecoratedStackPanel', 549), Lcom_google_gwt_user_client_ui_LabelBase_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'LabelBase', 561), Lcom_google_gwt_user_client_ui_Label_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'Label', 560), Lcom_google_gwt_user_client_ui_HTML_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'HTML', 559), Lcom_google_gwt_user_client_ui_HasHorizontalAlignment$AutoHorizontalAlignmentConstant_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'HasHorizontalAlignment$AutoHorizontalAlignmentConstant', 573), Lcom_google_gwt_user_client_ui_HasHorizontalAlignment$HorizontalAlignmentConstant_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'HasHorizontalAlignment$HorizontalAlignmentConstant', 574), Lcom_google_gwt_i18n_client_HasDirection$Direction_2_classLit = createForEnum('com.google.gwt.i18n.client.', 'HasDirection$Direction', 433, values_16), _3Lcom_google_gwt_i18n_client_HasDirection$Direction_2_classLit = createForArray('[Lcom.google.gwt.i18n.client.', 'HasDirection$Direction;', 751), Lcom_google_gwt_user_client_ui_Composite_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'Composite', 540), Lcom_google_gwt_user_client_ui_TabPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'TabPanel', 554), Lcom_google_gwt_user_client_ui_DecoratedTabPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'DecoratedTabPanel', 553), Lcom_google_gwt_user_client_ui_DeckPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'DeckPanel', 544), Lcom_google_gwt_user_client_ui_TabPanel$TabbedDeckPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'TabPanel$TabbedDeckPanel', 607), Lcom_google_gwt_user_client_ui_TabBar_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'TabBar', 552), Lcom_google_gwt_user_client_ui_TabPanel$UnmodifiableTabBar_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'TabPanel$UnmodifiableTabBar', 608), Lcom_google_gwt_animation_client_Animation_2_classLit = createForClass('com.google.gwt.animation.client.', 'Animation', 109), Lcom_google_gwt_user_client_ui_DeckPanel$SlideAnimation_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'DeckPanel$SlideAnimation', 545), Lcom_google_gwt_animation_client_Animation$1_2_classLit = createForClass('com.google.gwt.animation.client.', 'Animation$1', 222), Lcom_google_gwt_animation_client_AnimationScheduler_2_classLit = createForClass('com.google.gwt.animation.client.', 'AnimationScheduler', 223), Lcom_google_gwt_animation_client_AnimationScheduler$AnimationHandle_2_classLit = createForClass('com.google.gwt.animation.client.', 'AnimationScheduler$AnimationHandle', 224), Lcom_google_gwt_user_client_ui_TabBar$ClickDelegatePanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'TabBar$ClickDelegatePanel', 606), Lcom_extjs_gxt_ui_client_widget_ScrollContainer_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.', 'ScrollContainer', 157), Lcom_extjs_gxt_ui_client_widget_LayoutContainer_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.', 'LayoutContainer', 156), Lcom_extjs_gxt_ui_client_widget_VerticalPanel_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.', 'VerticalPanel', 171), Lcom_google_gwt_user_client_ui_HTMLTable_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'HTMLTable', 565), Lcom_google_gwt_user_client_ui_Grid_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'Grid', 569), Lcom_google_gwt_user_client_ui_HTMLTable$CellFormatter_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'HTMLTable$CellFormatter', 567), Lcom_google_gwt_user_client_ui_HTMLTable$ColumnFormatter_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'HTMLTable$ColumnFormatter', 571), Lcom_google_gwt_user_client_ui_HTMLTable$1_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'HTMLTable$1', 570), Lcom_mycompany_project_client_chee_ModuleType_2_classLit = createForEnum('com.mycompany.project.client.chee.', 'ModuleType', 681, values_18), _3Lcom_mycompany_project_client_chee_ModuleType_2_classLit = createForArray('[Lcom.mycompany.project.client.chee.', 'ModuleType;', 752), Lcom_google_gwt_user_client_ui_Image_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'Image', 577), Lcom_mycompany_project_client_chee_Module_2_classLit = createForClass('com.mycompany.project.client.chee.', 'Module', 679), Lcom_google_gwt_user_client_ui_Image$State_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'Image$State', 579), Lcom_google_gwt_user_client_ui_Image$ClippedState_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'Image$ClippedState', 578), Lcom_google_gwt_user_client_ui_Image$UnclippedState_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'Image$UnclippedState', 581), Lcom_google_gwt_user_client_ui_Image$State$1_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'Image$State$1', 580), Lcom_mycompany_project_client_chee_LoginScreen_2_classLit = createForClass('com.mycompany.project.client.chee.', 'LoginScreen', 674), Lcom_mycompany_project_client_chee_LoginScreen$1_2_classLit = createForClass('com.mycompany.project.client.chee.', 'LoginScreen$1', 675), Lcom_google_gwt_user_client_Timer_2_classLit = createForClass('com.google.gwt.user.client.', 'Timer', 45), Lcom_mycompany_project_client_chee_LoginScreen$1$1_2_classLit = createForClass('com.mycompany.project.client.chee.', 'LoginScreen$1$1', 676), Lcom_mycompany_project_client_chee_LoginScreen$1$1$1_2_classLit = createForClass('com.mycompany.project.client.chee.', 'LoginScreen$1$1$1', 677), Lcom_google_gwt_user_client_Timer$1_2_classLit = createForClass('com.google.gwt.user.client.', 'Timer$1', 516), Lcom_google_gwt_user_client_ui_FocusWidget_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'FocusWidget', 538), Lcom_google_gwt_user_client_ui_ButtonBase_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'ButtonBase', 537), Lcom_google_gwt_user_client_ui_CustomButton_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'CustomButton', 541), Lcom_google_gwt_user_client_ui_ToggleButton_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'ToggleButton', 609), _3Lcom_google_gwt_user_client_ui_ToggleButton_2_classLit = createForArray('[Lcom.google.gwt.user.client.ui.', 'ToggleButton;', 753), Lcom_google_gwt_user_client_ui_CellPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'CellPanel', 539), Lcom_google_gwt_user_client_ui_HorizontalPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'HorizontalPanel', 576), _3Lcom_google_gwt_user_client_ui_HorizontalPanel_2_classLit = createForArray('[Lcom.google.gwt.user.client.ui.', 'HorizontalPanel;', 754), Lcom_google_gwt_user_client_ui_FlexTable_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'FlexTable', 564), _3Lcom_google_gwt_user_client_ui_FlexTable_2_classLit = createForArray('[Lcom.google.gwt.user.client.ui.', 'FlexTable;', 755), Lcom_mycompany_project_client_chee_LoggingModuleGUI_2_classLit = createForClass('com.mycompany.project.client.chee.', 'LoggingModuleGUI', 661), Lcom_mycompany_project_client_chee_LoggingModuleGUI$1_2_classLit = createForClass('com.mycompany.project.client.chee.', 'LoggingModuleGUI$1', 662), Lcom_mycompany_project_client_chee_LoggingModuleGUI$2_2_classLit = createForClass('com.mycompany.project.client.chee.', 'LoggingModuleGUI$2', 663), Lcom_mycompany_project_client_chee_LoggingModuleGUI$2$1_2_classLit = createForClass('com.mycompany.project.client.chee.', 'LoggingModuleGUI$2$1', 664), Lcom_mycompany_project_client_chee_LoggingModuleGUI$2$2_2_classLit = createForClass('com.mycompany.project.client.chee.', 'LoggingModuleGUI$2$2', 665), Lcom_mycompany_project_client_chee_LoggingModuleGUI$3_2_classLit = createForClass('com.mycompany.project.client.chee.', 'LoggingModuleGUI$3', 666), Lcom_mycompany_project_client_chee_LoggingModuleGUI$4_2_classLit = createForClass('com.mycompany.project.client.chee.', 'LoggingModuleGUI$4', 667), Lcom_mycompany_project_client_chee_LoggingModuleGUI$5_2_classLit = createForClass('com.mycompany.project.client.chee.', 'LoggingModuleGUI$5', 668), Lcom_mycompany_project_client_chee_LoggingModuleGUI$6_2_classLit = createForClass('com.mycompany.project.client.chee.', 'LoggingModuleGUI$6', 669), Lcom_mycompany_project_client_chee_LoggingModuleGUI$7_2_classLit = createForClass('com.mycompany.project.client.chee.', 'LoggingModuleGUI$7', 670), Lcom_mycompany_project_client_chee_LoggingModuleGUI$7$1_2_classLit = createForClass('com.mycompany.project.client.chee.', 'LoggingModuleGUI$7$1', 671), Lcom_mycompany_project_client_chee_LoggingModuleGUI$7$2_2_classLit = createForClass('com.mycompany.project.client.chee.', 'LoggingModuleGUI$7$2', 672), Lcom_mycompany_project_client_chee_LoggingModuleGUI$8_2_classLit = createForClass('com.mycompany.project.client.chee.', 'LoggingModuleGUI$8', 673), Lcom_extjs_gxt_ui_client_widget_menu_MenuBarItem_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.menu.', 'MenuBarItem', 210), Lcom_extjs_gxt_ui_client_widget_menu_MenuBarItem$1_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.menu.', 'MenuBarItem$1', 211), Lcom_extjs_gxt_ui_client_Style$HorizontalAlignment_2_classLit = createForEnum('com.extjs.gxt.ui.client.', 'Style$HorizontalAlignment', 37, values_3), _3Lcom_extjs_gxt_ui_client_Style$HorizontalAlignment_2_classLit = createForArray('[Lcom.extjs.gxt.ui.client.', 'Style$HorizontalAlignment;', 756), Lcom_extjs_gxt_ui_client_Style$VerticalAlignment_2_classLit = createForEnum('com.extjs.gxt.ui.client.', 'Style$VerticalAlignment', 40, values_6), _3Lcom_extjs_gxt_ui_client_Style$VerticalAlignment_2_classLit = createForArray('[Lcom.extjs.gxt.ui.client.', 'Style$VerticalAlignment;', 757), Lcom_extjs_gxt_ui_client_Style$Scroll_2_classLit = createForEnum('com.extjs.gxt.ui.client.', 'Style$Scroll', 39, values_5), _3Lcom_extjs_gxt_ui_client_Style$Scroll_2_classLit = createForArray('[Lcom.extjs.gxt.ui.client.', 'Style$Scroll;', 758), Lcom_extjs_gxt_ui_client_Style$Direction_2_classLit = createForEnum('com.extjs.gxt.ui.client.', 'Style$Direction', 35, values_1), _3Lcom_extjs_gxt_ui_client_Style$Direction_2_classLit = createForArray('[Lcom.extjs.gxt.ui.client.', 'Style$Direction;', 759), Lcom_extjs_gxt_ui_client_Style$HideMode_2_classLit = createForEnum('com.extjs.gxt.ui.client.', 'Style$HideMode', 36, values_2), _3Lcom_extjs_gxt_ui_client_Style$HideMode_2_classLit = createForArray('[Lcom.extjs.gxt.ui.client.', 'Style$HideMode;', 760), Lcom_extjs_gxt_ui_client_Style$ButtonScale_2_classLit = createForEnum('com.extjs.gxt.ui.client.', 'Style$ButtonScale', 33, values_0), _3Lcom_extjs_gxt_ui_client_Style$ButtonScale_2_classLit = createForArray('[Lcom.extjs.gxt.ui.client.', 'Style$ButtonScale;', 761), Lcom_extjs_gxt_ui_client_Style$IconAlign_2_classLit = createForEnum('com.extjs.gxt.ui.client.', 'Style$IconAlign', 38, values_4), _3Lcom_extjs_gxt_ui_client_Style$IconAlign_2_classLit = createForArray('[Lcom.extjs.gxt.ui.client.', 'Style$IconAlign;', 762), Lcom_mycompany_project_client_duch_RoverCalibrationGUI_2_classLit = createForClass('com.mycompany.project.client.duch.', 'RoverCalibrationGUI', 683), Lcom_mycompany_project_client_duch_RoverCalibrationGUI$1_2_classLit = createForClass('com.mycompany.project.client.duch.', 'RoverCalibrationGUI$1', 684), Lcom_mycompany_project_client_duch_RoverCalibrationGUI$2_2_classLit = createForClass('com.mycompany.project.client.duch.', 'RoverCalibrationGUI$2', 685), Lcom_mycompany_project_client_chee_HabitatConfigurationGUI_2_classLit = createForClass('com.mycompany.project.client.chee.', 'HabitatConfigurationGUI', 637), Lcom_mycompany_project_client_chee_HabitatConfigurationGUI$1_2_classLit = createForClass('com.mycompany.project.client.chee.', 'HabitatConfigurationGUI$1', 638), Lcom_mycompany_project_client_chee_HabitatConfigurationGUI$1$1_2_classLit = createForClass('com.mycompany.project.client.chee.', 'HabitatConfigurationGUI$1$1', 639), Lcom_mycompany_project_client_chee_HabitatConfigurationGUI$1$2_2_classLit = createForClass('com.mycompany.project.client.chee.', 'HabitatConfigurationGUI$1$2', 640), Lcom_mycompany_project_client_chee_HabitatConfigurationGUI$1$3_2_classLit = createForClass('com.mycompany.project.client.chee.', 'HabitatConfigurationGUI$1$3', 641), Lcom_mycompany_project_client_chee_HabitatConfigurationGUI$1$4_2_classLit = createForClass('com.mycompany.project.client.chee.', 'HabitatConfigurationGUI$1$4', 642), Lcom_mycompany_project_client_chee_HabitatConfigurationGUI$2_2_classLit = createForClass('com.mycompany.project.client.chee.', 'HabitatConfigurationGUI$2', 643), Lcom_mycompany_project_client_chee_HabitatConfigurationGUI$2$1_2_classLit = createForClass('com.mycompany.project.client.chee.', 'HabitatConfigurationGUI$2$1', 644), Lcom_mycompany_project_client_chee_HabitatConfigurationGUI$2$2_2_classLit = createForClass('com.mycompany.project.client.chee.', 'HabitatConfigurationGUI$2$2', 645), Lcom_mycompany_project_client_chee_HabitatConfigurationGUI$3_2_classLit = createForClass('com.mycompany.project.client.chee.', 'HabitatConfigurationGUI$3', 646), Lcom_mycompany_project_client_chee_HabitatConfigurationGUI$3$1_2_classLit = createForClass('com.mycompany.project.client.chee.', 'HabitatConfigurationGUI$3$1', 647), Lcom_mycompany_project_client_chee_HabitatConfigurationGUI$3$2_2_classLit = createForClass('com.mycompany.project.client.chee.', 'HabitatConfigurationGUI$3$2', 648), Lcom_mycompany_project_client_jack_Weather_2_classLit = createForClass('com.mycompany.project.client.jack.', 'Weather', 686), Lcom_mycompany_project_client_jack_Weather$1_2_classLit = createForClass('com.mycompany.project.client.jack.', 'Weather$1', 687), Ljava_lang_ArithmeticException_2_classLit = createForClass('java.lang.', 'ArithmeticException', 689), Lcom_google_gwt_core_client_impl_StringBufferImpl_2_classLit = createForClass('com.google.gwt.core.client.impl.', 'StringBufferImpl', 315), Lcom_google_gwt_storage_client_Storage_2_classLit = createForClass('com.google.gwt.storage.client.', 'Storage', 481), Lcom_google_gwt_storage_client_Storage$StorageSupportDetector_2_classLit = createForClass('com.google.gwt.storage.client.', 'Storage$StorageSupportDetector', 482), Ljava_util_AbstractCollection_2_classLit = createForClass('java.util.', 'AbstractCollection', 71), Ljava_util_AbstractList_2_classLit = createForClass('java.util.', 'AbstractList', 584), Ljava_util_ArrayList_2_classLit = createForClass('java.util.', 'ArrayList', 583), Ljava_util_AbstractList$IteratorImpl_2_classLit = createForClass('java.util.', 'AbstractList$IteratorImpl', 722), Ljava_util_AbstractList$ListIteratorImpl_2_classLit = createForClass('java.util.', 'AbstractList$ListIteratorImpl', 723), Ljava_util_AbstractMap_2_classLit = createForClass('java.util.', 'AbstractMap', 68), Ljava_util_AbstractHashMap_2_classLit = createForClass('java.util.', 'AbstractHashMap', 716), Ljava_util_HashMap_2_classLit = createForClass('java.util.', 'HashMap', 733), Ljava_util_AbstractSet_2_classLit = createForClass('java.util.', 'AbstractSet', 70), Ljava_util_AbstractHashMap$EntrySet_2_classLit = createForClass('java.util.', 'AbstractHashMap$EntrySet', 717), Ljava_util_AbstractHashMap$EntrySetIterator_2_classLit = createForClass('java.util.', 'AbstractHashMap$EntrySetIterator', 718), Ljava_util_AbstractMapEntry_2_classLit = createForClass('java.util.', 'AbstractMapEntry', 720), Ljava_util_AbstractHashMap$MapEntryNull_2_classLit = createForClass('java.util.', 'AbstractHashMap$MapEntryNull', 719), Ljava_util_AbstractHashMap$MapEntryString_2_classLit = createForClass('java.util.', 'AbstractHashMap$MapEntryString', 721), Ljava_util_AbstractMap$1_2_classLit = createForClass('java.util.', 'AbstractMap$1', 724), Ljava_util_AbstractMap$1$1_2_classLit = createForClass('java.util.', 'AbstractMap$1$1', 725), Lcom_extjs_gxt_ui_client_widget_Layout_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.', 'Layout', 166), Lcom_extjs_gxt_ui_client_widget_layout_MenuLayout_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.layout.', 'MenuLayout', 193), Lcom_extjs_gxt_ui_client_widget_Layout$1_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.', 'Layout$1', 167), Lcom_extjs_gxt_ui_client_widget_Layout$2_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.', 'Layout$2', 168), Lcom_extjs_gxt_ui_client_widget_Layout$3_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.', 'Layout$3', 169), Ljava_util_HashSet_2_classLit = createForClass('java.util.', 'HashSet', 734), Lcom_google_gwt_user_client_ui_ValueBoxBase_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'ValueBoxBase', 593), Lcom_google_gwt_user_client_ui_ValueBoxBase$TextAlignment_2_classLit = createForEnum('com.google.gwt.user.client.ui.', 'ValueBoxBase$TextAlignment', 610, values_17), _3Lcom_google_gwt_user_client_ui_ValueBoxBase$TextAlignment_2_classLit = createForArray('[Lcom.google.gwt.user.client.ui.', 'ValueBoxBase$TextAlignment;', 763), Lcom_google_gwt_user_client_ui_ValueBoxBase$TextAlignment$1_2_classLit = createForEnum('com.google.gwt.user.client.ui.', 'ValueBoxBase$TextAlignment$1', 611, null), Lcom_google_gwt_user_client_ui_ValueBoxBase$TextAlignment$2_2_classLit = createForEnum('com.google.gwt.user.client.ui.', 'ValueBoxBase$TextAlignment$2', 612, null), Lcom_google_gwt_user_client_ui_ValueBoxBase$TextAlignment$3_2_classLit = createForEnum('com.google.gwt.user.client.ui.', 'ValueBoxBase$TextAlignment$3', 613, null), Lcom_google_gwt_user_client_ui_ValueBoxBase$TextAlignment$4_2_classLit = createForEnum('com.google.gwt.user.client.ui.', 'ValueBoxBase$TextAlignment$4', 614, null), Lcom_google_gwt_i18n_client_AutoDirectionHandler_2_classLit = createForClass('com.google.gwt.i18n.client.', 'AutoDirectionHandler', 424), Lcom_google_gwt_user_client_ui_TextBoxBase_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'TextBoxBase', 592), Lcom_google_gwt_user_client_ui_TextBox_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'TextBox', 591), Lcom_google_gwt_user_client_ui_PasswordTextBox_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'PasswordTextBox', 590), Lcom_extjs_gxt_ui_client_widget_Status_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.', 'Status', 170), Lcom_mycompany_project_client_chee_LoadSaveModuleDetailGUI_2_classLit = createForClass('com.mycompany.project.client.chee.', 'LoadSaveModuleDetailGUI', 649), Lcom_mycompany_project_client_chee_LoadSaveModuleDetailGUI$1_2_classLit = createForClass('com.mycompany.project.client.chee.', 'LoadSaveModuleDetailGUI$1', 650), Lcom_mycompany_project_client_chee_LoadSaveModuleDetailGUI$1$1_2_classLit = createForClass('com.mycompany.project.client.chee.', 'LoadSaveModuleDetailGUI$1$1', 651), Lcom_mycompany_project_client_chee_LoadSaveModuleDetailGUI$1$2_2_classLit = createForClass('com.mycompany.project.client.chee.', 'LoadSaveModuleDetailGUI$1$2', 652), Lcom_mycompany_project_client_chee_LoadSaveModuleDetailGUI$1$3_2_classLit = createForClass('com.mycompany.project.client.chee.', 'LoadSaveModuleDetailGUI$1$3', 653), Lcom_mycompany_project_client_chee_LoadSaveModuleDetailGUI$1$4_2_classLit = createForClass('com.mycompany.project.client.chee.', 'LoadSaveModuleDetailGUI$1$4', 654), Lcom_mycompany_project_client_chee_LoadSaveModuleDetailGUI$2_2_classLit = createForClass('com.mycompany.project.client.chee.', 'LoadSaveModuleDetailGUI$2', 655), Lcom_mycompany_project_client_chee_LoadSaveModuleDetailGUI$2$1_2_classLit = createForClass('com.mycompany.project.client.chee.', 'LoadSaveModuleDetailGUI$2$1', 656), Lcom_mycompany_project_client_chee_LoadSaveModuleDetailGUI$2$2_2_classLit = createForClass('com.mycompany.project.client.chee.', 'LoadSaveModuleDetailGUI$2$2', 657), Lcom_mycompany_project_client_chee_LoadSaveModuleDetailGUI$3_2_classLit = createForClass('com.mycompany.project.client.chee.', 'LoadSaveModuleDetailGUI$3', 658), Lcom_mycompany_project_client_chee_LoadSaveModuleDetailGUI$3$1_2_classLit = createForClass('com.mycompany.project.client.chee.', 'LoadSaveModuleDetailGUI$3$1', 659), Lcom_mycompany_project_client_chee_LoadSaveModuleDetailGUI$3$2_2_classLit = createForClass('com.mycompany.project.client.chee.', 'LoadSaveModuleDetailGUI$3$2', 660), Lcom_google_gwt_user_client_ui_HasVerticalAlignment$VerticalAlignmentConstant_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'HasVerticalAlignment$VerticalAlignmentConstant', 575), Lcom_google_gwt_user_client_ui_VerticalPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'VerticalPanel', 615), Lcom_google_gwt_user_client_ui_Button_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'Button', 536), Lcom_google_gwt_user_client_ui_FlexTable$FlexCellFormatter_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'FlexTable$FlexCellFormatter', 566), Lcom_extjs_gxt_ui_client_event_EventType_2_classLit = createForClass('com.extjs.gxt.ui.client.event.', 'EventType', 92), Lcom_extjs_gxt_ui_client_util_Size_2_classLit = createForClass('com.extjs.gxt.ui.client.util.', 'Size', 136), Lcom_extjs_gxt_ui_client_event_BaseEvent_2_classLit = createForClass('com.extjs.gxt.ui.client.event.', 'BaseEvent', 84), Lcom_extjs_gxt_ui_client_event_DomEvent_2_classLit = createForClass('com.extjs.gxt.ui.client.event.', 'DomEvent', 87), Lcom_extjs_gxt_ui_client_event_ComponentEvent_2_classLit = createForClass('com.extjs.gxt.ui.client.event.', 'ComponentEvent', 86), Lcom_extjs_gxt_ui_client_event_BoxComponentEvent_2_classLit = createForClass('com.extjs.gxt.ui.client.event.', 'BoxComponentEvent', 85), Lcom_extjs_gxt_ui_client_core_El_2_classLit = createForClass('com.extjs.gxt.ui.client.core.', 'El', 64), Lcom_extjs_gxt_ui_client_core_El$2_2_classLit = createForClass('com.extjs.gxt.ui.client.core.', 'El$2', 65), Ljava_lang_IllegalArgumentException_2_classLit = createForClass('java.lang.', 'IllegalArgumentException', 698), Ljava_lang_NumberFormatException_2_classLit = createForClass('java.lang.', 'NumberFormatException', 709), Lcom_extjs_gxt_ui_client_aria_FocusFrame_2_classLit = createForClass('com.extjs.gxt.ui.client.aria.', 'FocusFrame', 49), Lcom_google_gwt_core_client_impl_StringBufferImplAppend_2_classLit = createForClass('com.google.gwt.core.client.impl.', 'StringBufferImplAppend', 316), Lcom_google_gwt_core_client_Duration_2_classLit = createForClass('com.google.gwt.core.client.', 'Duration', 297), Lcom_google_gwt_core_client_impl_SchedulerImpl_2_classLit = createForClass('com.google.gwt.core.client.impl.', 'SchedulerImpl', 307), Lcom_google_gwt_core_client_impl_SchedulerImpl$Flusher_2_classLit = createForClass('com.google.gwt.core.client.impl.', 'SchedulerImpl$Flusher', 308), Lcom_google_gwt_core_client_impl_SchedulerImpl$Rescuer_2_classLit = createForClass('com.google.gwt.core.client.impl.', 'SchedulerImpl$Rescuer', 309), Lcom_extjs_gxt_ui_client_widget_HorizontalPanel_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.', 'HorizontalPanel', 163), _3Lcom_google_gwt_user_client_ui_Button_2_classLit = createForArray('[Lcom.google.gwt.user.client.ui.', 'Button;', 764), _3Lcom_google_gwt_user_client_ui_ScrollPanel_2_classLit = createForArray('[Lcom.google.gwt.user.client.ui.', 'ScrollPanel;', 765), _3Lcom_google_gwt_user_client_ui_Grid_2_classLit = createForArray('[Lcom.google.gwt.user.client.ui.', 'Grid;', 766), _3Lcom_extjs_gxt_ui_client_widget_VerticalPanel_2_classLit = createForArray('[Lcom.extjs.gxt.ui.client.widget.', 'VerticalPanel;', 767), _3Lcom_google_gwt_user_client_ui_HTML_2_classLit = createForArray('[Lcom.google.gwt.user.client.ui.', 'HTML;', 768), Lcom_mycompany_project_client_chee_HabitatConfiguration_2_classLit = createForClass('com.mycompany.project.client.chee.', 'HabitatConfiguration', 636), _3Lcom_mycompany_project_client_chee_HabitatConfiguration_2_classLit = createForArray('[Lcom.mycompany.project.client.chee.', 'HabitatConfiguration;', 769), Lcom_allen_1sauer_gwt_dnd_client_AbstractDragController_2_classLit = createForClass('com.allen_sauer.gwt.dnd.client.', 'AbstractDragController', 3), Lcom_allen_1sauer_gwt_dnd_client_PickupDragController_2_classLit = createForClass('com.allen_sauer.gwt.dnd.client.', 'PickupDragController', 12), _3Lcom_allen_1sauer_gwt_dnd_client_PickupDragController_2_classLit = createForArray('[Lcom.allen_sauer.gwt.dnd.client.', 'PickupDragController;', 770), Lcom_mycompany_project_client_chee_ConfigurationGUI_2_classLit = createForClass('com.mycompany.project.client.chee.', 'ConfigurationGUI', 632), Lcom_mycompany_project_client_chee_ConfigurationGUI$1_2_classLit = createForClass('com.mycompany.project.client.chee.', 'ConfigurationGUI$1', 633), Lcom_mycompany_project_client_chee_ConfigurationGUI$2_2_classLit = createForClass('com.mycompany.project.client.chee.', 'ConfigurationGUI$2', 634), Lcom_mycompany_project_client_neville_QualityCheckGUI_2_classLit = createForClass('com.mycompany.project.client.neville.', 'QualityCheckGUI', 688), Lcom_google_gwt_user_client_ui_ListBox_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'ListBox', 585), Lcom_google_gwt_jsonp_client_JsonpRequestBuilder_2_classLit = createForClass('com.google.gwt.jsonp.client.', 'JsonpRequestBuilder', 457), Lcom_google_gwt_jsonp_client_JsonpRequest_2_classLit = createForClass('com.google.gwt.jsonp.client.', 'JsonpRequest', 454), Lcom_google_gwt_jsonp_client_JsonpRequest$1_2_classLit = createForClass('com.google.gwt.jsonp.client.', 'JsonpRequest$1', 455), Lcom_google_gwt_jsonp_client_JsonpRequest$2_2_classLit = createForClass('com.google.gwt.jsonp.client.', 'JsonpRequest$2', 456), Lcom_mycompany_project_client_duch_RoverCalibration_2_classLit = createForClass('com.mycompany.project.client.duch.', 'RoverCalibration', 682), Lcom_google_gwt_user_client_ui_AbstractImagePrototype_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'AbstractImagePrototype', 532), Lcom_google_gwt_i18n_client_LocaleInfo_2_classLit = createForClass('com.google.gwt.i18n.client.', 'LocaleInfo', 434), Lcom_google_gwt_user_client_ui_DirectionalTextHelper_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'DirectionalTextHelper', 563), Lcom_google_gwt_event_dom_client_DomEvent_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'DomEvent', 384), Lcom_google_gwt_event_dom_client_KeyEvent_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'KeyEvent', 392), Lcom_google_gwt_event_dom_client_KeyPressEvent_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'KeyPressEvent', 394), Lcom_google_gwt_event_dom_client_DomEvent$Type_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'DomEvent$Type', 387), Lcom_extjs_gxt_ui_client_core_FastSet_2_classLit = createForClass('com.extjs.gxt.ui.client.core.', 'FastSet', 77), Lcom_google_gwt_user_client_impl_ElementMapperImpl_2_classLit = createForClass('com.google.gwt.user.client.impl.', 'ElementMapperImpl', 524), Lcom_google_gwt_user_client_impl_ElementMapperImpl$FreeNode_2_classLit = createForClass('com.google.gwt.user.client.impl.', 'ElementMapperImpl$FreeNode', 525), Lcom_google_gwt_user_client_ui_CustomButton$Face_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'CustomButton$Face', 543), Lcom_google_gwt_user_client_ui_CustomButton$2_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'CustomButton$2', 542), Lcom_google_gwt_event_dom_client_HumanInputEvent_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'HumanInputEvent', 383), Lcom_google_gwt_event_dom_client_MouseEvent_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'MouseEvent', 382), Lcom_google_gwt_event_dom_client_ClickEvent_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'ClickEvent', 381), Lcom_mycompany_project_client_chee_GPSData_2_classLit = createForClass('com.mycompany.project.client.chee.', 'GPSData', 635), Lcom_google_gwt_dom_client_Style$Unit_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Unit', 359, values_13), _3Lcom_google_gwt_dom_client_Style$Unit_2_classLit = createForArray('[Lcom.google.gwt.dom.client.', 'Style$Unit;', 771), Lcom_google_gwt_dom_client_Style$BorderStyle_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$BorderStyle', 333, values_8), _3Lcom_google_gwt_dom_client_Style$BorderStyle_2_classLit = createForArray('[Lcom.google.gwt.dom.client.', 'Style$BorderStyle;', 772), Lcom_google_gwt_dom_client_Style$Display_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Display', 339, values_9), _3Lcom_google_gwt_dom_client_Style$Display_2_classLit = createForArray('[Lcom.google.gwt.dom.client.', 'Style$Display;', 773), Lcom_google_gwt_dom_client_Style$Overflow_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Overflow', 344, values_10), _3Lcom_google_gwt_dom_client_Style$Overflow_2_classLit = createForArray('[Lcom.google.gwt.dom.client.', 'Style$Overflow;', 774), Lcom_google_gwt_dom_client_Style$Position_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Position', 349, values_11), _3Lcom_google_gwt_dom_client_Style$Position_2_classLit = createForArray('[Lcom.google.gwt.dom.client.', 'Style$Position;', 775), Lcom_google_gwt_dom_client_Style$TextAlign_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$TextAlign', 354, values_12), _3Lcom_google_gwt_dom_client_Style$TextAlign_2_classLit = createForArray('[Lcom.google.gwt.dom.client.', 'Style$TextAlign;', 776), Lcom_google_gwt_dom_client_Style$WhiteSpace_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$WhiteSpace', 369, values_14), _3Lcom_google_gwt_dom_client_Style$WhiteSpace_2_classLit = createForArray('[Lcom.google.gwt.dom.client.', 'Style$WhiteSpace;', 777), Lcom_google_gwt_dom_client_Style$Unit$1_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Unit$1', 360, null), Lcom_google_gwt_dom_client_Style$Unit$2_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Unit$2', 361, null), Lcom_google_gwt_dom_client_Style$Unit$3_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Unit$3', 362, null), Lcom_google_gwt_dom_client_Style$Unit$4_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Unit$4', 363, null), Lcom_google_gwt_dom_client_Style$Unit$5_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Unit$5', 364, null), Lcom_google_gwt_dom_client_Style$Unit$6_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Unit$6', 365, null), Lcom_google_gwt_dom_client_Style$Unit$7_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Unit$7', 366, null), Lcom_google_gwt_dom_client_Style$Unit$8_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Unit$8', 367, null), Lcom_google_gwt_dom_client_Style$Unit$9_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Unit$9', 368, null), Lcom_google_gwt_dom_client_Style$BorderStyle$1_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$BorderStyle$1', 334, null), Lcom_google_gwt_dom_client_Style$BorderStyle$2_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$BorderStyle$2', 335, null), Lcom_google_gwt_dom_client_Style$BorderStyle$3_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$BorderStyle$3', 336, null), Lcom_google_gwt_dom_client_Style$BorderStyle$4_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$BorderStyle$4', 337, null), Lcom_google_gwt_dom_client_Style$BorderStyle$5_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$BorderStyle$5', 338, null), Lcom_google_gwt_dom_client_Style$Display$1_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Display$1', 340, null), Lcom_google_gwt_dom_client_Style$Display$2_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Display$2', 341, null), Lcom_google_gwt_dom_client_Style$Display$3_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Display$3', 342, null), Lcom_google_gwt_dom_client_Style$Display$4_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Display$4', 343, null), Lcom_google_gwt_dom_client_Style$Overflow$1_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Overflow$1', 345, null), Lcom_google_gwt_dom_client_Style$Overflow$2_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Overflow$2', 346, null), Lcom_google_gwt_dom_client_Style$Overflow$3_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Overflow$3', 347, null), Lcom_google_gwt_dom_client_Style$Overflow$4_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Overflow$4', 348, null), Lcom_google_gwt_dom_client_Style$Position$1_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Position$1', 350, null), Lcom_google_gwt_dom_client_Style$Position$2_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Position$2', 351, null), Lcom_google_gwt_dom_client_Style$Position$3_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Position$3', 352, null), Lcom_google_gwt_dom_client_Style$Position$4_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Position$4', 353, null), Lcom_google_gwt_dom_client_Style$TextAlign$1_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$TextAlign$1', 355, null), Lcom_google_gwt_dom_client_Style$TextAlign$2_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$TextAlign$2', 356, null), Lcom_google_gwt_dom_client_Style$TextAlign$3_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$TextAlign$3', 357, null), Lcom_google_gwt_dom_client_Style$TextAlign$4_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$TextAlign$4', 358, null), Lcom_google_gwt_dom_client_Style$WhiteSpace$1_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$WhiteSpace$1', 370, null), Lcom_google_gwt_dom_client_Style$WhiteSpace$2_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$WhiteSpace$2', 371, null), Lcom_google_gwt_dom_client_Style$WhiteSpace$3_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$WhiteSpace$3', 372, null), Lcom_google_gwt_dom_client_Style$WhiteSpace$4_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$WhiteSpace$4', 373, null), Lcom_google_gwt_dom_client_Style$WhiteSpace$5_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$WhiteSpace$5', 374, null), Ljava_lang_IllegalStateException_2_classLit = createForClass('java.lang.', 'IllegalStateException', 699), Lcom_extjs_gxt_ui_client_core_FastMap_2_classLit = createForClass('com.extjs.gxt.ui.client.core.', 'FastMap', 67), Lcom_extjs_gxt_ui_client_core_FastMap$FastMapEntry_2_classLit = createForClass('com.extjs.gxt.ui.client.core.', 'FastMap$FastMapEntry', 74), Lcom_extjs_gxt_ui_client_core_FastMap$1_2_classLit = createForClass('com.extjs.gxt.ui.client.core.', 'FastMap$1', 69), Lcom_extjs_gxt_ui_client_core_FastMap$1$1_2_classLit = createForClass('com.extjs.gxt.ui.client.core.', 'FastMap$1$1', 72), Lcom_extjs_gxt_ui_client_core_FastMap$2_2_classLit = createForClass('com.extjs.gxt.ui.client.core.', 'FastMap$2', 73), Lcom_google_gwt_user_client_ui_WidgetCollection_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'WidgetCollection', 616), _3Lcom_google_gwt_user_client_ui_Widget_2_classLit = createForArray('[Lcom.google.gwt.user.client.ui.', 'Widget;', 778), Lcom_google_gwt_user_client_ui_WidgetCollection$WidgetIterator_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'WidgetCollection$WidgetIterator', 617), Lcom_extjs_gxt_ui_client_core_impl_ComputedStyleImpl_2_classLit = createForClass('com.extjs.gxt.ui.client.core.impl.', 'ComputedStyleImpl', 80), Lcom_extjs_gxt_ui_client_widget_Layer_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.', 'Layer', 164), Lcom_extjs_gxt_ui_client_widget_Layer$ShadowPosition_2_classLit = createForEnum('com.extjs.gxt.ui.client.widget.', 'Layer$ShadowPosition', 165, values_7), _3Lcom_extjs_gxt_ui_client_widget_Layer$ShadowPosition_2_classLit = createForArray('[Lcom.extjs.gxt.ui.client.widget.', 'Layer$ShadowPosition;', 779), Lcom_extjs_gxt_ui_client_image_XImages_1generatedBundle_2_classLit = createForClass('com.extjs.gxt.ui.client.image.', 'XImages_generatedBundle', 111), Lcom_extjs_gxt_ui_client_event_ContainerEvent_2_classLit = createForClass('com.extjs.gxt.ui.client.event.', 'ContainerEvent', 91), Lcom_extjs_gxt_ui_client_event_MenuEvent_2_classLit = createForClass('com.extjs.gxt.ui.client.event.', 'MenuEvent', 98), Ljava_lang_UnsupportedOperationException_2_classLit = createForClass('java.lang.', 'UnsupportedOperationException', 715), Lcom_extjs_gxt_ui_client_widget_FocusManagerSupport_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.', 'FocusManagerSupport', 161), Lcom_google_gwt_user_client_ui_ScrollImpl_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'ScrollImpl', 603), Lcom_extjs_gxt_ui_client_widget_WidgetComponent_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.', 'WidgetComponent', 172), Ljava_lang_NullPointerException_2_classLit = createForClass('java.lang.', 'NullPointerException', 705), Ljava_util_Date_2_classLit = createForClass('java.util.', 'Date', 443), Lcom_google_gwt_i18n_shared_DateTimeFormat_2_classLit = createForClass('com.google.gwt.i18n.shared.', 'DateTimeFormat', 429), Lcom_google_gwt_i18n_shared_DateTimeFormat$PatternPart_2_classLit = createForClass('com.google.gwt.i18n.shared.', 'DateTimeFormat$PatternPart', 441), Lcom_google_gwt_i18n_client_DateTimeFormat_2_classLit = createForClass('com.google.gwt.i18n.client.', 'DateTimeFormat', 428), Lcom_google_gwt_i18n_client_DateTimeFormat$PredefinedFormat_2_classLit = createForEnum('com.google.gwt.i18n.client.', 'DateTimeFormat$PredefinedFormat', 430, values_15), _3Lcom_google_gwt_i18n_client_DateTimeFormat$PredefinedFormat_2_classLit = createForArray('[Lcom.google.gwt.i18n.client.', 'DateTimeFormat$PredefinedFormat;', 780), Ljava_lang_StringBuffer_2_classLit = createForClass('java.lang.', 'StringBuffer', 712), Lcom_extjs_gxt_ui_client_data_BaseModelData_2_classLit = createForClass('com.extjs.gxt.ui.client.data.', 'BaseModelData', 81), Lcom_extjs_gxt_ui_client_util_Theme_2_classLit = createForClass('com.extjs.gxt.ui.client.util.', 'Theme', 138), Lcom_extjs_gxt_ui_client_util_Theme$1_2_classLit = createForClass('com.extjs.gxt.ui.client.util.', 'Theme$1', 139), Lcom_google_gwt_user_client_Window$ClosingEvent_2_classLit = createForClass('com.google.gwt.user.client.', 'Window$ClosingEvent', 518), Lcom_google_gwt_event_shared_HandlerManager_2_classLit = createForClass('com.google.gwt.event.shared.', 'HandlerManager', 415), Lcom_google_gwt_user_client_Window$WindowHandlers_2_classLit = createForClass('com.google.gwt.user.client.', 'Window$WindowHandlers', 520), Lcom_google_web_bindery_event_shared_EventBus_2_classLit = createForClass('com.google.web.bindery.event.shared.', 'EventBus', 418), Lcom_google_web_bindery_event_shared_SimpleEventBus_2_classLit = createForClass('com.google.web.bindery.event.shared.', 'SimpleEventBus', 417), Lcom_google_gwt_event_shared_HandlerManager$Bus_2_classLit = createForClass('com.google.gwt.event.shared.', 'HandlerManager$Bus', 416), Lcom_google_web_bindery_event_shared_SimpleEventBus$1_2_classLit = createForClass('com.google.web.bindery.event.shared.', 'SimpleEventBus$1', 627), Lcom_google_web_bindery_event_shared_SimpleEventBus$2_2_classLit = createForClass('com.google.web.bindery.event.shared.', 'SimpleEventBus$2', 628), Lcom_google_web_bindery_event_shared_SimpleEventBus$3_2_classLit = createForClass('com.google.web.bindery.event.shared.', 'SimpleEventBus$3', 629), Lcom_extjs_gxt_ui_client_state_StateManager_2_classLit = createForClass('com.extjs.gxt.ui.client.state.', 'StateManager', 119), Lcom_extjs_gxt_ui_client_state_Provider_2_classLit = createForClass('com.extjs.gxt.ui.client.state.', 'Provider', 118), Lcom_extjs_gxt_ui_client_state_CookieProvider_2_classLit = createForClass('com.extjs.gxt.ui.client.state.', 'CookieProvider', 117), Lcom_extjs_gxt_ui_client_util_DelayedTask_2_classLit = createForClass('com.extjs.gxt.ui.client.util.', 'DelayedTask', 126), Lcom_extjs_gxt_ui_client_util_DelayedTask$1_2_classLit = createForClass('com.extjs.gxt.ui.client.util.', 'DelayedTask$1', 127), Ljava_lang_IndexOutOfBoundsException_2_classLit = createForClass('java.lang.', 'IndexOutOfBoundsException', 700), Lcom_google_gwt_safehtml_shared_SafeUriString_2_classLit = createForClass('com.google.gwt.safehtml.shared.', 'SafeUriString', 479), Lcom_google_gwt_user_client_BaseListenerWrapper_2_classLit = createForClass('com.google.gwt.user.client.', 'BaseListenerWrapper', 501), Lcom_google_gwt_user_client_ui_ListenerWrapper_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'ListenerWrapper', 586), Lcom_google_gwt_user_client_ui_ListenerWrapper$WrappedClickListener_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'ListenerWrapper$WrappedClickListener', 587), Lcom_google_gwt_user_client_ui_ListenerWrapper$WrappedKeyboardListener_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'ListenerWrapper$WrappedKeyboardListener', 588), Lcom_google_gwt_user_client_ui_ListenerWrapper$WrappedTabListener_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'ListenerWrapper$WrappedTabListener', 589), Lcom_extjs_gxt_ui_client_util_Rectangle_2_classLit = createForClass('com.extjs.gxt.ui.client.util.', 'Rectangle', 133), Lcom_google_gwt_user_client_ui_DecoratorPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'DecoratorPanel', 555), Lcom_google_gwt_aria_client_RoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'RoleImpl', 230), Lcom_google_gwt_aria_client_AlertdialogRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'AlertdialogRoleImpl', 231), Lcom_google_gwt_aria_client_AlertRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'AlertRoleImpl', 229), Lcom_google_gwt_aria_client_ApplicationRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'ApplicationRoleImpl', 232), Lcom_google_gwt_aria_client_ArticleRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'ArticleRoleImpl', 235), Lcom_google_gwt_aria_client_BannerRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'BannerRoleImpl', 236), Lcom_google_gwt_aria_client_ButtonRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'ButtonRoleImpl', 237), _3Lcom_google_gwt_aria_client_PressedValue_2_classLit = createForArray('[Lcom.google.gwt.aria.client.', 'PressedValue;', 781), Lcom_google_gwt_aria_client_CheckboxRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'CheckboxRoleImpl', 238), Lcom_google_gwt_aria_client_ColumnheaderRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'ColumnheaderRoleImpl', 239), Lcom_google_gwt_aria_client_ComboboxRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'ComboboxRoleImpl', 240), Lcom_google_gwt_aria_client_ComplementaryRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'ComplementaryRoleImpl', 241), Lcom_google_gwt_aria_client_ContentinfoRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'ContentinfoRoleImpl', 242), Lcom_google_gwt_aria_client_DefinitionRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'DefinitionRoleImpl', 243), Lcom_google_gwt_aria_client_DialogRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'DialogRoleImpl', 244), Lcom_google_gwt_aria_client_DirectoryRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'DirectoryRoleImpl', 245), Lcom_google_gwt_aria_client_DocumentRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'DocumentRoleImpl', 246), Lcom_google_gwt_aria_client_FormRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'FormRoleImpl', 247), Lcom_google_gwt_aria_client_GridcellRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'GridcellRoleImpl', 249), Lcom_google_gwt_aria_client_GridRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'GridRoleImpl', 248), Lcom_google_gwt_aria_client_GroupRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'GroupRoleImpl', 250), Lcom_google_gwt_aria_client_HeadingRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'HeadingRoleImpl', 251), Lcom_google_gwt_aria_client_ImgRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'ImgRoleImpl', 252), Lcom_google_gwt_aria_client_LinkRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'LinkRoleImpl', 253), Lcom_google_gwt_aria_client_ListboxRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'ListboxRoleImpl', 255), Lcom_google_gwt_aria_client_ListitemRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'ListitemRoleImpl', 256), Lcom_google_gwt_aria_client_ListRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'ListRoleImpl', 254), Lcom_google_gwt_aria_client_LogRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'LogRoleImpl', 257), Lcom_google_gwt_aria_client_MainRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'MainRoleImpl', 258), Lcom_google_gwt_aria_client_MarqueeRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'MarqueeRoleImpl', 259), Lcom_google_gwt_aria_client_MathRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'MathRoleImpl', 260), Lcom_google_gwt_aria_client_MenubarRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'MenubarRoleImpl', 262), Lcom_google_gwt_aria_client_MenuitemcheckboxRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'MenuitemcheckboxRoleImpl', 264), Lcom_google_gwt_aria_client_MenuitemradioRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'MenuitemradioRoleImpl', 265), Lcom_google_gwt_aria_client_MenuitemRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'MenuitemRoleImpl', 263), Lcom_google_gwt_aria_client_MenuRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'MenuRoleImpl', 261), Lcom_google_gwt_aria_client_NavigationRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'NavigationRoleImpl', 266), Lcom_google_gwt_aria_client_NoteRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'NoteRoleImpl', 267), Lcom_google_gwt_aria_client_OptionRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'OptionRoleImpl', 268), Lcom_google_gwt_aria_client_PresentationRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'PresentationRoleImpl', 269), Lcom_google_gwt_aria_client_ProgressbarRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'ProgressbarRoleImpl', 272), Lcom_google_gwt_aria_client_RadiogroupRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'RadiogroupRoleImpl', 274), Lcom_google_gwt_aria_client_RadioRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'RadioRoleImpl', 273), Lcom_google_gwt_aria_client_RegionRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'RegionRoleImpl', 275), Lcom_google_gwt_aria_client_RowgroupRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'RowgroupRoleImpl', 278), Lcom_google_gwt_aria_client_RowheaderRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'RowheaderRoleImpl', 279), Lcom_google_gwt_aria_client_RowRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'RowRoleImpl', 277), Lcom_google_gwt_aria_client_ScrollbarRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'ScrollbarRoleImpl', 280), Lcom_google_gwt_aria_client_SearchRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'SearchRoleImpl', 281), Lcom_google_gwt_aria_client_SeparatorRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'SeparatorRoleImpl', 282), Lcom_google_gwt_aria_client_SliderRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'SliderRoleImpl', 283), Lcom_google_gwt_aria_client_SpinbuttonRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'SpinbuttonRoleImpl', 284), Lcom_google_gwt_aria_client_StatusRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'StatusRoleImpl', 286), Lcom_google_gwt_aria_client_TablistRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'TablistRoleImpl', 288), Lcom_google_gwt_aria_client_TabpanelRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'TabpanelRoleImpl', 289), Lcom_google_gwt_aria_client_TabRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'TabRoleImpl', 287), Lcom_google_gwt_aria_client_TextboxRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'TextboxRoleImpl', 290), Lcom_google_gwt_aria_client_TimerRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'TimerRoleImpl', 291), Lcom_google_gwt_aria_client_ToolbarRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'ToolbarRoleImpl', 292), Lcom_google_gwt_aria_client_TooltipRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'TooltipRoleImpl', 293), Lcom_google_gwt_aria_client_TreegridRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'TreegridRoleImpl', 295), Lcom_google_gwt_aria_client_TreeitemRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'TreeitemRoleImpl', 296), Lcom_google_gwt_aria_client_TreeRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'TreeRoleImpl', 294), Lcom_google_gwt_touch_client_TouchScroller_2_classLit = createForClass('com.google.gwt.touch.client.', 'TouchScroller', 490), Lcom_google_gwt_touch_client_TouchScroller$TemporalPoint_2_classLit = createForClass('com.google.gwt.touch.client.', 'TouchScroller$TemporalPoint', 500), Lcom_google_gwt_touch_client_TouchScroller$MomentumCommand_2_classLit = createForClass('com.google.gwt.touch.client.', 'TouchScroller$MomentumCommand', 497), Lcom_google_gwt_touch_client_TouchScroller$MomentumTouchRemovalCommand_2_classLit = createForClass('com.google.gwt.touch.client.', 'TouchScroller$MomentumTouchRemovalCommand', 499), Lcom_google_gwt_touch_client_TouchScroller$MomentumCommand$1_2_classLit = createForClass('com.google.gwt.touch.client.', 'TouchScroller$MomentumCommand$1', 498), Lcom_google_gwt_touch_client_TouchScroller$1_2_classLit = createForClass('com.google.gwt.touch.client.', 'TouchScroller$1', 491), Lcom_google_gwt_touch_client_TouchScroller$2_2_classLit = createForClass('com.google.gwt.touch.client.', 'TouchScroller$2', 492), Lcom_google_gwt_touch_client_TouchScroller$3_2_classLit = createForClass('com.google.gwt.touch.client.', 'TouchScroller$3', 493), Lcom_google_gwt_touch_client_TouchScroller$4_2_classLit = createForClass('com.google.gwt.touch.client.', 'TouchScroller$4', 494), Lcom_google_gwt_touch_client_TouchScroller$5_2_classLit = createForClass('com.google.gwt.touch.client.', 'TouchScroller$5', 495), Lcom_google_gwt_touch_client_TouchScroller$6_2_classLit = createForClass('com.google.gwt.touch.client.', 'TouchScroller$6', 496), Lcom_google_gwt_event_logical_shared_AttachEvent_2_classLit = createForClass('com.google.gwt.event.logical.shared.', 'AttachEvent', 409), Ljava_util_NoSuchElementException_2_classLit = createForClass('java.util.', 'NoSuchElementException', 736), Lcom_google_gwt_event_logical_shared_BeforeSelectionEvent_2_classLit = createForClass('com.google.gwt.event.logical.shared.', 'BeforeSelectionEvent', 410), Lcom_google_gwt_event_logical_shared_SelectionEvent_2_classLit = createForClass('com.google.gwt.event.logical.shared.', 'SelectionEvent', 413), Lcom_extjs_gxt_ui_client_widget_form_Field_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.form.', 'Field', 182), Lcom_extjs_gxt_ui_client_widget_form_TextField_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.form.', 'TextField', 189), Lcom_extjs_gxt_ui_client_widget_form_TextArea_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.form.', 'TextArea', 188), Lcom_extjs_gxt_ui_client_widget_form_Field$FieldMessages_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.form.', 'Field$FieldMessages', 187), Lcom_extjs_gxt_ui_client_widget_form_TextField$TextFieldMessages_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.form.', 'TextField$TextFieldMessages', 190), Lcom_extjs_gxt_ui_client_widget_form_Field$FieldImages_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.form.', 'Field$FieldImages', 186), Lcom_extjs_gxt_ui_client_widget_form_Field$1_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.form.', 'Field$1', 183), Lcom_extjs_gxt_ui_client_widget_form_Field$2_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.form.', 'Field$2', 184), Lcom_extjs_gxt_ui_client_widget_form_Field$4_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.form.', 'Field$4', 185), Lcom_extjs_gxt_ui_client_widget_AriaSupport_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.', 'AriaSupport', 142), Lcom_extjs_gxt_ui_client_core_CompositeElement_2_classLit = createForClass('com.extjs.gxt.ui.client.core.', 'CompositeElement', 61), Ljava_util_MapEntryImpl_2_classLit = createForClass('java.util.', 'MapEntryImpl', 735), Lcom_google_gwt_event_logical_shared_CloseEvent_2_classLit = createForClass('com.google.gwt.event.logical.shared.', 'CloseEvent', 411), Lcom_google_gwt_event_dom_client_PrivateMap_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'PrivateMap', 401), Lcom_google_gwt_event_shared_LegacyHandlerWrapper_2_classLit = createForClass('com.google.gwt.event.shared.', 'LegacyHandlerWrapper', 419), Ljava_util_Arrays$ArrayList_2_classLit = createForClass('java.util.', 'Arrays$ArrayList', 727), Ljava_util_Vector_2_classLit = createForClass('java.util.', 'Vector', 738), Ljava_util_Stack_2_classLit = createForClass('java.util.', 'Stack', 737), Lcom_google_gwt_user_client_ui_impl_ClippedImagePrototype_2_classLit = createForClass('com.google.gwt.user.client.ui.impl.', 'ClippedImagePrototype', 620), Lcom_extjs_gxt_ui_client_util_Point_2_classLit = createForClass('com.extjs.gxt.ui.client.util.', 'Point', 132), Lcom_google_gwt_event_dom_client_TouchEvent_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'TouchEvent', 404), Lcom_google_gwt_event_dom_client_TouchStartEvent_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'TouchStartEvent', 408), Lcom_google_gwt_event_dom_client_TouchEvent$TouchSupportDetector_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'TouchEvent$TouchSupportDetector', 406), Lcom_google_gwt_event_dom_client_TouchMoveEvent_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'TouchMoveEvent', 407), Lcom_google_gwt_event_dom_client_TouchEndEvent_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'TouchEndEvent', 405), Lcom_google_gwt_event_dom_client_TouchCancelEvent_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'TouchCancelEvent', 403), _3Lcom_mycompany_project_client_chee_Module_2_classLit = createForArray('[Lcom.mycompany.project.client.chee.', 'Module;', 782), _3_3Lcom_mycompany_project_client_chee_Module_2_classLit = createForArray('[[Lcom.mycompany.project.client.chee.', 'Module;', 783), Lcom_allen_1sauer_gwt_dnd_client_PickupDragController$SavedWidgetInfo_2_classLit = createForClass('com.allen_sauer.gwt.dnd.client.', 'PickupDragController$SavedWidgetInfo', 13), Lcom_extjs_gxt_ui_client_event_StateEvent_2_classLit = createForClass('com.extjs.gxt.ui.client.event.', 'StateEvent', 101), Lcom_google_gwt_json_client_JSONValue_2_classLit = createForClass('com.google.gwt.json.client.', 'JSONValue', 445), Lcom_google_gwt_json_client_JSONObject_2_classLit = createForClass('com.google.gwt.json.client.', 'JSONObject', 450), Lcom_google_gwt_json_client_JSONObject$1_2_classLit = createForClass('com.google.gwt.json.client.', 'JSONObject$1', 451), Lcom_extjs_gxt_ui_client_widget_layout_TableLayout_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.layout.', 'TableLayout', 195), Lcom_extjs_gxt_ui_client_widget_layout_TableRowLayout_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.layout.', 'TableRowLayout', 196), Lcom_google_gwt_user_client_ui_FocusPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'FocusPanel', 568), Lcom_google_gwt_user_client_CommandExecutor_2_classLit = createForClass('com.google.gwt.user.client.', 'CommandExecutor', 503), Lcom_google_gwt_user_client_CommandExecutor$CircularIterator_2_classLit = createForClass('com.google.gwt.user.client.', 'CommandExecutor$CircularIterator', 506), Lcom_google_gwt_user_client_CommandExecutor$1_2_classLit = createForClass('com.google.gwt.user.client.', 'CommandExecutor$1', 504), Lcom_google_gwt_user_client_CommandExecutor$2_2_classLit = createForClass('com.google.gwt.user.client.', 'CommandExecutor$2', 505), Lcom_extjs_gxt_ui_client_widget_ComponentManager_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.', 'ComponentManager', 152), Lcom_extjs_gxt_ui_client_util_TextMetrics_2_classLit = createForClass('com.extjs.gxt.ui.client.util.', 'TextMetrics', 137), Lcom_google_gwt_text_shared_AbstractRenderer_2_classLit = createForClass('com.google.gwt.text.shared.', 'AbstractRenderer', 484), Lcom_google_gwt_text_shared_testing_PassthroughRenderer_2_classLit = createForClass('com.google.gwt.text.shared.testing.', 'PassthroughRenderer', 486), Lcom_google_gwt_text_shared_testing_PassthroughParser_2_classLit = createForClass('com.google.gwt.text.shared.testing.', 'PassthroughParser', 485), Ljava_util_EmptyStackException_2_classLit = createForClass('java.util.', 'EmptyStackException', 732), Lcom_extjs_gxt_ui_client_event_LayoutEvent_2_classLit = createForClass('com.extjs.gxt.ui.client.event.', 'LayoutEvent', 97), Lcom_google_gwt_aria_client_Attribute_2_classLit = createForClass('com.google.gwt.aria.client.', 'Attribute', 234), Lcom_extjs_gxt_ui_client_widget_ContentPanel_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.', 'ContentPanel', 155), Lcom_extjs_gxt_ui_client_widget_ContentPanel$1_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.', 'ContentPanel$1', 158), Lcom_extjs_gxt_ui_client_widget_ContentPanel$2_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.', 'ContentPanel$2', 159), Lcom_extjs_gxt_ui_client_widget_ContentPanel$3_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.', 'ContentPanel$3', 160), Lcom_allen_1sauer_gwt_dnd_client_drop_AbstractDropController_2_classLit = createForClass('com.allen_sauer.gwt.dnd.client.drop.', 'AbstractDropController', 19), Lcom_allen_1sauer_gwt_dnd_client_drop_AbstractPositioningDropController_2_classLit = createForClass('com.allen_sauer.gwt.dnd.client.drop.', 'AbstractPositioningDropController', 18), Lcom_allen_1sauer_gwt_dnd_client_drop_AbsolutePositionDropController_2_classLit = createForClass('com.allen_sauer.gwt.dnd.client.drop.', 'AbsolutePositionDropController', 17), Lcom_allen_1sauer_gwt_dnd_client_drop_BoundaryDropController_2_classLit = createForClass('com.allen_sauer.gwt.dnd.client.drop.', 'BoundaryDropController', 21), Lcom_allen_1sauer_gwt_dnd_client_drop_AbsolutePositionDropController$Draggable_2_classLit = createForClass('com.allen_sauer.gwt.dnd.client.drop.', 'AbsolutePositionDropController$Draggable', 20), Lcom_allen_1sauer_gwt_dnd_client_DropControllerCollection_2_classLit = createForClass('com.allen_sauer.gwt.dnd.client.', 'DropControllerCollection', 5), Lcom_allen_1sauer_gwt_dnd_client_DropControllerCollection$Candidate_2_classLit = createForClass('com.allen_sauer.gwt.dnd.client.', 'DropControllerCollection$Candidate', 6), _3Lcom_allen_1sauer_gwt_dnd_client_DropControllerCollection$Candidate_2_classLit = createForArray('[Lcom.allen_sauer.gwt.dnd.client.', 'DropControllerCollection$Candidate;', 784), Lcom_google_gwt_i18n_client_TimeZone_2_classLit = createForClass('com.google.gwt.i18n.client.', 'TimeZone', 436), Lcom_extjs_gxt_ui_client_data_RpcMap_2_classLit = createForClass('com.extjs.gxt.ui.client.data.', 'RpcMap', 83), Lcom_extjs_gxt_ui_client_widget_layout_FlowLayout_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.layout.', 'FlowLayout', 191), Lcom_extjs_gxt_ui_client_event_ComponentManagerEvent_2_classLit = createForClass('com.extjs.gxt.ui.client.event.', 'ComponentManagerEvent', 90), Lcom_google_gwt_event_dom_client_KeyCodeEvent_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'KeyCodeEvent', 391), Lcom_google_gwt_event_dom_client_KeyDownEvent_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'KeyDownEvent', 393), Lcom_google_gwt_event_dom_client_KeyUpEvent_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'KeyUpEvent', 395), Lcom_extjs_gxt_ui_client_util_Region_2_classLit = createForClass('com.extjs.gxt.ui.client.util.', 'Region', 134), Lcom_extjs_gxt_ui_client_widget_tips_Tip_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.tips.', 'Tip', 213), Lcom_extjs_gxt_ui_client_widget_tips_ToolTip_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.tips.', 'ToolTip', 215), Lcom_extjs_gxt_ui_client_widget_tips_ToolTip$1_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.tips.', 'ToolTip$1', 216), Lcom_extjs_gxt_ui_client_widget_tips_ToolTip$2_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.tips.', 'ToolTip$2', 217), Lcom_extjs_gxt_ui_client_widget_tips_ToolTip$3_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.tips.', 'ToolTip$3', 218), Lcom_extjs_gxt_ui_client_widget_tips_ToolTip$4_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.tips.', 'ToolTip$4', 219), Lcom_extjs_gxt_ui_client_widget_tips_Tip$1_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.tips.', 'Tip$1', 214), Lcom_google_gwt_aria_client_PrimitiveValueAttribute_2_classLit = createForClass('com.google.gwt.aria.client.', 'PrimitiveValueAttribute', 271), Lcom_google_gwt_aria_client_AriaValueAttribute_2_classLit = createForClass('com.google.gwt.aria.client.', 'AriaValueAttribute', 233), Lcom_google_gwt_touch_client_DefaultMomentum_2_classLit = createForClass('com.google.gwt.touch.client.', 'DefaultMomentum', 487), Lcom_google_gwt_touch_client_Momentum$State_2_classLit = createForClass('com.google.gwt.touch.client.', 'Momentum$State', 488), Lcom_allen_1sauer_gwt_dnd_client_DragContext_2_classLit = createForClass('com.allen_sauer.gwt.dnd.client.', 'DragContext', 4), Lcom_allen_1sauer_gwt_dnd_client_MouseDragHandler_2_classLit = createForClass('com.allen_sauer.gwt.dnd.client.', 'MouseDragHandler', 7), Lcom_allen_1sauer_gwt_dnd_client_MouseDragHandler$RegisteredDraggable_2_classLit = createForClass('com.allen_sauer.gwt.dnd.client.', 'MouseDragHandler$RegisteredDraggable', 11), Lcom_allen_1sauer_gwt_dnd_client_MouseDragHandler$1_2_classLit = createForClass('com.allen_sauer.gwt.dnd.client.', 'MouseDragHandler$1', 8), Lcom_allen_1sauer_gwt_dnd_client_MouseDragHandler$2_2_classLit = createForClass('com.allen_sauer.gwt.dnd.client.', 'MouseDragHandler$2', 9), Lcom_allen_1sauer_gwt_dnd_client_MouseDragHandler$3_2_classLit = createForClass('com.allen_sauer.gwt.dnd.client.', 'MouseDragHandler$3', 10), Lcom_extjs_gxt_ui_client_event_FieldEvent_2_classLit = createForClass('com.extjs.gxt.ui.client.event.', 'FieldEvent', 94), Lcom_google_gwt_jsonp_client_TimeoutException_2_classLit = createForClass('com.google.gwt.jsonp.client.', 'TimeoutException', 458), Lcom_google_gwt_i18n_shared_DefaultDateTimeFormatInfo_2_classLit = createForClass('com.google.gwt.i18n.shared.', 'DefaultDateTimeFormatInfo', 432), Lcom_google_gwt_i18n_client_DefaultDateTimeFormatInfo_2_classLit = createForClass('com.google.gwt.i18n.client.', 'DefaultDateTimeFormatInfo', 431), Lcom_google_gwt_i18n_client_impl_cldr_DateTimeFormatInfoImpl_2_classLit = createForClass('com.google.gwt.i18n.client.impl.cldr.', 'DateTimeFormatInfoImpl', 439), Lcom_google_gwt_i18n_client_impl_cldr_DateTimeFormatInfoImpl_1en_2_classLit = createForClass('com.google.gwt.i18n.client.impl.cldr.', 'DateTimeFormatInfoImpl_en', 440), Lcom_google_gwt_i18n_shared_impl_DateRecord_2_classLit = createForClass('com.google.gwt.i18n.shared.impl.', 'DateRecord', 442), Lcom_google_gwt_json_client_JSONArray_2_classLit = createForClass('com.google.gwt.json.client.', 'JSONArray', 444), Lcom_google_gwt_json_client_JSONBoolean_2_classLit = createForClass('com.google.gwt.json.client.', 'JSONBoolean', 446), Lcom_google_gwt_json_client_JSONString_2_classLit = createForClass('com.google.gwt.json.client.', 'JSONString', 453), Lcom_google_gwt_json_client_JSONNull_2_classLit = createForClass('com.google.gwt.json.client.', 'JSONNull', 448), Lcom_google_gwt_event_logical_shared_ValueChangeEvent_2_classLit = createForClass('com.google.gwt.event.logical.shared.', 'ValueChangeEvent', 414), Lcom_extjs_gxt_ui_client_image_gray_GrayImages_1generatedBundle_2_classLit = createForClass('com.extjs.gxt.ui.client.image.gray.', 'GrayImages_generatedBundle', 112), Lcom_extjs_gxt_ui_client_widget_toolbar_ToolBar_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.toolbar.', 'ToolBar', 179), Lcom_extjs_gxt_ui_client_widget_button_ButtonBar_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.button.', 'ButtonBar', 178), Lcom_extjs_gxt_ui_client_util_Scroll_2_classLit = createForClass('com.extjs.gxt.ui.client.util.', 'Scroll', 135), Lcom_extjs_gxt_ui_client_widget_layout_LayoutData_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.layout.', 'LayoutData', 192), Lcom_google_gwt_json_client_JSONNumber_2_classLit = createForClass('com.google.gwt.json.client.', 'JSONNumber', 449), Lcom_extjs_gxt_ui_client_aria_FocusManager_2_classLit = createForClass('com.extjs.gxt.ui.client.aria.', 'FocusManager', 51), Lcom_extjs_gxt_ui_client_aria_FocusManager$1_2_classLit = createForClass('com.extjs.gxt.ui.client.aria.', 'FocusManager$1', 52), Lcom_google_gwt_event_logical_shared_ResizeEvent_2_classLit = createForClass('com.google.gwt.event.logical.shared.', 'ResizeEvent', 412), Lcom_google_gwt_safehtml_shared_SafeHtmlString_2_classLit = createForClass('com.google.gwt.safehtml.shared.', 'SafeHtmlString', 477), Lcom_google_gwt_json_client_JSONException_2_classLit = createForClass('com.google.gwt.json.client.', 'JSONException', 447), Lcom_google_gwt_safecss_shared_SafeStylesBuilder_2_classLit = createForClass('com.google.gwt.safecss.shared.', 'SafeStylesBuilder', 473), Lcom_google_gwt_event_dom_client_MouseMoveEvent_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'MouseMoveEvent', 397), Lcom_google_gwt_event_dom_client_MouseUpEvent_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'MouseUpEvent', 400), Lcom_google_gwt_user_client_CommandCanceledException_2_classLit = createForClass('com.google.gwt.user.client.', 'CommandCanceledException', 502), Lcom_google_gwt_user_client_ui_impl_ClippedImageImpl_1TemplateImpl_2_classLit = createForClass('com.google.gwt.user.client.ui.impl.', 'ClippedImageImpl_TemplateImpl', 619), Lcom_google_gwt_safecss_shared_SafeStylesString_2_classLit = createForClass('com.google.gwt.safecss.shared.', 'SafeStylesString', 474), Lcom_extjs_gxt_ui_client_widget_layout_TableData_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.layout.', 'TableData', 194), Ljava_util_Collections$EmptyList_2_classLit = createForClass('java.util.', 'Collections$EmptyList', 729), Lcom_extjs_gxt_ui_client_widget_tips_ToolTipConfig_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.tips.', 'ToolTipConfig', 220), Lcom_extjs_gxt_ui_client_widget_WindowManager_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.', 'WindowManager', 173), Lcom_extjs_gxt_ui_client_aria_FocusHandler_2_classLit = createForClass('com.extjs.gxt.ui.client.aria.', 'FocusHandler', 43), Lcom_extjs_gxt_ui_client_aria_FieldSetHandler_2_classLit = createForClass('com.extjs.gxt.ui.client.aria.', 'FieldSetHandler', 48), Lcom_extjs_gxt_ui_client_aria_HtmlEditorHandler_2_classLit = createForClass('com.extjs.gxt.ui.client.aria.', 'HtmlEditorHandler', 55), Lcom_extjs_gxt_ui_client_aria_ToolButtonHandler_2_classLit = createForClass('com.extjs.gxt.ui.client.aria.', 'ToolButtonHandler', 60), Lcom_extjs_gxt_ui_client_aria_ToolBarHandler_2_classLit = createForClass('com.extjs.gxt.ui.client.aria.', 'ToolBarHandler', 59), Lcom_extjs_gxt_ui_client_aria_MenuHandler_2_classLit = createForClass('com.extjs.gxt.ui.client.aria.', 'MenuHandler', 57), Lcom_extjs_gxt_ui_client_aria_TabPanelHandler_2_classLit = createForClass('com.extjs.gxt.ui.client.aria.', 'TabPanelHandler', 58), Lcom_extjs_gxt_ui_client_aria_InputSliderHandler_2_classLit = createForClass('com.extjs.gxt.ui.client.aria.', 'InputSliderHandler', 56), Lcom_extjs_gxt_ui_client_aria_DualListFieldHandler_2_classLit = createForClass('com.extjs.gxt.ui.client.aria.', 'DualListFieldHandler', 46), Lcom_extjs_gxt_ui_client_aria_FieldHandler_2_classLit = createForClass('com.extjs.gxt.ui.client.aria.', 'FieldHandler', 47), Lcom_extjs_gxt_ui_client_aria_HeaderHandler_2_classLit = createForClass('com.extjs.gxt.ui.client.aria.', 'HeaderHandler', 54), Lcom_extjs_gxt_ui_client_aria_DefaultHandler_2_classLit = createForClass('com.extjs.gxt.ui.client.aria.', 'DefaultHandler', 42), Lcom_extjs_gxt_ui_client_aria_DefaultHandler$1_2_classLit = createForClass('com.extjs.gxt.ui.client.aria.', 'DefaultHandler$1', 44), Lcom_extjs_gxt_ui_client_aria_ContentPanelNavigationHandler_2_classLit = createForClass('com.extjs.gxt.ui.client.aria.', 'ContentPanelNavigationHandler', 41), Lcom_extjs_gxt_ui_client_util_ClickRepeater_2_classLit = createForClass('com.extjs.gxt.ui.client.util.', 'ClickRepeater', 121), Lcom_extjs_gxt_ui_client_util_ClickRepeater$1_2_classLit = createForClass('com.extjs.gxt.ui.client.util.', 'ClickRepeater$1', 122), Lcom_extjs_gxt_ui_client_util_ClickRepeater$2_2_classLit = createForClass('com.extjs.gxt.ui.client.util.', 'ClickRepeater$2', 123), Lcom_extjs_gxt_ui_client_util_ClickRepeater$3_2_classLit = createForClass('com.extjs.gxt.ui.client.util.', 'ClickRepeater$3', 124), Lcom_google_gwt_safehtml_shared_OnlyToBeUsedInGeneratedCodeStringBlessedAsSafeHtml_2_classLit = createForClass('com.google.gwt.safehtml.shared.', 'OnlyToBeUsedInGeneratedCodeStringBlessedAsSafeHtml', 476), Lcom_extjs_gxt_ui_client_widget_Header_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.', 'Header', 162), Lcom_extjs_gxt_ui_client_widget_button_IconButton_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.button.', 'IconButton', 180), Lcom_extjs_gxt_ui_client_widget_button_ToolButton_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.button.', 'ToolButton', 181), Lcom_extjs_gxt_ui_client_event_ClickRepeaterEvent_2_classLit = createForClass('com.extjs.gxt.ui.client.event.', 'ClickRepeaterEvent', 89), Lcom_google_gwt_user_client_ui_PopupPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'PopupPanel', 547), Lcom_google_gwt_user_client_ui_PopupPanel$ResizeAnimation_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'PopupPanel$ResizeAnimation', 597), Lcom_google_gwt_user_client_ui_PopupPanel$1_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'PopupPanel$1', 594), Lcom_google_gwt_user_client_ui_PopupPanel$3_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'PopupPanel$3', 595), Lcom_google_gwt_user_client_ui_PopupPanel$4_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'PopupPanel$4', 596), Lcom_google_gwt_user_client_ui_DecoratedPopupPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'DecoratedPopupPanel', 546), Lcom_google_gwt_user_client_ui_DialogBox_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'DialogBox', 556), Lcom_google_gwt_user_client_ui_DialogBox$CaptionImpl_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'DialogBox$CaptionImpl', 558), Lcom_google_gwt_user_client_ui_DialogBox$MouseHandler_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'DialogBox$MouseHandler', 562), Lcom_google_gwt_user_client_ui_DialogBox$1_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'DialogBox$1', 557), Lcom_allen_1sauer_gwt_dnd_client_util_AbstractLocation_2_classLit = createForClass('com.allen_sauer.gwt.dnd.client.util.', 'AbstractLocation', 23), Lcom_allen_1sauer_gwt_dnd_client_util_WidgetLocation_2_classLit = createForClass('com.allen_sauer.gwt.dnd.client.util.', 'WidgetLocation', 28), Lcom_extjs_gxt_ui_client_event_PreviewEvent_2_classLit = createForClass('com.extjs.gxt.ui.client.event.', 'PreviewEvent', 99), Lcom_google_gwt_touch_client_Point_2_classLit = createForClass('com.google.gwt.touch.client.', 'Point', 489), Lcom_extjs_gxt_ui_client_util_Params_2_classLit = createForClass('com.extjs.gxt.ui.client.util.', 'Params', 131), Lcom_extjs_gxt_ui_client_core_Template_2_classLit = createForClass('com.extjs.gxt.ui.client.core.', 'Template', 78), Lcom_allen_1sauer_gwt_dnd_client_util_impl_DOMUtilImpl_2_classLit = createForClass('com.allen_sauer.gwt.dnd.client.util.impl.', 'DOMUtilImpl', 29), Lcom_allen_1sauer_gwt_dnd_client_util_impl_DOMUtilImplStandard_2_classLit = createForClass('com.allen_sauer.gwt.dnd.client.util.impl.', 'DOMUtilImplStandard', 31), Lcom_allen_1sauer_gwt_dnd_client_util_impl_DOMUtilImplOpera_2_classLit = createForClass('com.allen_sauer.gwt.dnd.client.util.impl.', 'DOMUtilImplOpera', 30), Lcom_allen_1sauer_gwt_dnd_client_VetoDragException_2_classLit = createForClass('com.allen_sauer.gwt.dnd.client.', 'VetoDragException', 14), Lcom_extjs_gxt_ui_client_fx_FxConfig_2_classLit = createForClass('com.extjs.gxt.ui.client.fx.', 'FxConfig', 110), Lcom_extjs_gxt_ui_client_event_IconButtonEvent_2_classLit = createForClass('com.extjs.gxt.ui.client.event.', 'IconButtonEvent', 96), Lcom_google_gwt_event_dom_client_MouseDownEvent_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'MouseDownEvent', 396), Lcom_allen_1sauer_gwt_dnd_client_util_CoordinateLocation_2_classLit = createForClass('com.allen_sauer.gwt.dnd.client.util.', 'CoordinateLocation', 24), Lcom_extjs_gxt_ui_client_js_JsObject_2_classLit = createForClass('com.extjs.gxt.ui.client.js.', 'JsObject', 114), Lcom_extjs_gxt_ui_client_widget_button_Button_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.button.', 'Button', 174), Lcom_extjs_gxt_ui_client_widget_button_Button$1_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.button.', 'Button$1', 175), Lcom_extjs_gxt_ui_client_widget_button_Button$2_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.button.', 'Button$2', 176), Lcom_extjs_gxt_ui_client_widget_button_Button$3_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.button.', 'Button$3', 177), Lcom_extjs_gxt_ui_client_fx_BaseEffect_2_classLit = createForClass('com.extjs.gxt.ui.client.fx.', 'BaseEffect', 103), Lcom_extjs_gxt_ui_client_fx_BaseEffect$Slide_2_classLit = createForClass('com.extjs.gxt.ui.client.fx.', 'BaseEffect$Slide', 104), Lcom_extjs_gxt_ui_client_fx_BaseEffect$SlideIn_2_classLit = createForClass('com.extjs.gxt.ui.client.fx.', 'BaseEffect$SlideIn', 105), Lcom_extjs_gxt_ui_client_fx_BaseEffect$SlideOut_2_classLit = createForClass('com.extjs.gxt.ui.client.fx.', 'BaseEffect$SlideOut', 106), Lcom_google_gwt_event_dom_client_MouseOverEvent_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'MouseOverEvent', 399), Lcom_google_gwt_event_dom_client_MouseOutEvent_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'MouseOutEvent', 398), Lcom_allen_1sauer_gwt_dnd_client_util_AbstractArea_2_classLit = createForClass('com.allen_sauer.gwt.dnd.client.util.', 'AbstractArea', 22), Lcom_allen_1sauer_gwt_dnd_client_util_WidgetArea_2_classLit = createForClass('com.allen_sauer.gwt.dnd.client.util.', 'WidgetArea', 27), Lcom_extjs_gxt_ui_client_widget_layout_ToolBarLayout_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.layout.', 'ToolBarLayout', 197), Lcom_extjs_gxt_ui_client_widget_layout_ToolBarLayout$1_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.layout.', 'ToolBarLayout$1', 198), Lcom_extjs_gxt_ui_client_widget_layout_ToolBarLayout$3_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.layout.', 'ToolBarLayout$3', 199), Lcom_extjs_gxt_ui_client_widget_layout_ToolBarLayout$4_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.layout.', 'ToolBarLayout$4', 200), Lcom_extjs_gxt_ui_client_js_JsArray_2_classLit = createForClass('com.extjs.gxt.ui.client.js.', 'JsArray', 113), Lcom_extjs_gxt_ui_client_event_ToolBarEvent_2_classLit = createForClass('com.extjs.gxt.ui.client.event.', 'ToolBarEvent', 102), Lcom_extjs_gxt_ui_client_widget_toolbar_FillToolItem_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.toolbar.', 'FillToolItem', 221), Lcom_extjs_gxt_ui_client_event_FxEvent_2_classLit = createForClass('com.extjs.gxt.ui.client.event.', 'FxEvent', 95), Lcom_extjs_gxt_ui_client_fx_Fx_2_classLit = createForClass('com.extjs.gxt.ui.client.fx.', 'Fx', 107), Lcom_extjs_gxt_ui_client_fx_Fx$1_2_classLit = createForClass('com.extjs.gxt.ui.client.fx.', 'Fx$1', 108), Lcom_google_gwt_i18n_client_NumberFormat_2_classLit = createForClass('com.google.gwt.i18n.client.', 'NumberFormat', 435), Lcom_google_gwt_user_client_impl_HistoryImpl_2_classLit = createForClass('com.google.gwt.user.client.impl.', 'HistoryImpl', 526), Lcom_google_gwt_user_client_impl_HistoryImplTimer_2_classLit = createForClass('com.google.gwt.user.client.impl.', 'HistoryImplTimer', 527), Lcom_google_gwt_animation_client_AnimationSchedulerImpl_2_classLit = createForClass('com.google.gwt.animation.client.', 'AnimationSchedulerImpl', 225), Lcom_google_gwt_animation_client_AnimationSchedulerImplTimer_2_classLit = createForClass('com.google.gwt.animation.client.', 'AnimationSchedulerImplTimer', 226), Lcom_google_gwt_animation_client_AnimationSchedulerImplTimer$AnimationHandleImpl_2_classLit = createForClass('com.google.gwt.animation.client.', 'AnimationSchedulerImplTimer$AnimationHandleImpl', 228), _3Lcom_google_gwt_animation_client_AnimationSchedulerImplTimer$AnimationHandleImpl_2_classLit = createForArray('[Lcom.google.gwt.animation.client.', 'AnimationSchedulerImplTimer$AnimationHandleImpl;', 785), Lcom_google_gwt_animation_client_AnimationSchedulerImplTimer$1_2_classLit = createForClass('com.google.gwt.animation.client.', 'AnimationSchedulerImplTimer$1', 227), Lcom_google_gwt_i18n_client_constants_NumberConstantsImpl_1_2_classLit = createForClass('com.google.gwt.i18n.client.constants.', 'NumberConstantsImpl_', 437), Lcom_extjs_gxt_ui_client_widget_menu_HeaderMenuItem_2_classLit = createForClass('com.extjs.gxt.ui.client.widget.menu.', 'HeaderMenuItem', 201), Lcom_extjs_gxt_ui_client_event_ButtonEvent_2_classLit = createForClass('com.extjs.gxt.ui.client.event.', 'ButtonEvent', 88);
$stats && $stats({moduleName:'com.mycompany.project.Main',sessionId:$sessionId,subSystem:'startup',evtGroup:'moduleStartup',millis:(new Date()).getTime(),type:'moduleEvalEnd'});
if ($wnd.com_mycompany_project_Main) $wnd.com_mycompany_project_Main.onScriptLoad();
--></script></body></html>
